html代码:
<!DOCTYPE html>
<html>
<head>
<title>extend</title>
</head>
<body>
</body>
</html>
<script src='../jquery-3.1.1.js'></script>
<script type="text/javascript">
'use strict'
var dest={ name: "John", location: {city: "Boston",county:"USA"} };
var src= { last: "Resig", location: {state: "MA",county:"China"} };
var result1=$.extend(true, {}, dest,src );
console.log(result1);
console.log('dest是:')
console.log(dest)
console.log('dest.last是:')
console.log(dest.last)//undefined
console.log('.........');
var result2=$.extend({}, dest,src ,src1);
console.log(result2);
console.log(dest);
console.log('.........');
var result3=$.extend(true,dest,src );
console.log(result3);
console.log(dest);
</script>
请大神指点,谢谢~~~
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为desc这个对象在内存里的地址没变。。。
当console第一次desc的时候显示的是当时的desc的对象的字符串形式的表达,后面result2和result3的时候篡改了desc对象,但这个时候,浏览器并不会更新之前打印出来的对象的字符串形式的表达。直到你展开,浏览器刷新成json形式表达,同时,这时候的对象信息也是最新的
不知道我这么描述,你看明白没