Js码:a = 5;b = a;b = 4;console.log(a,b);Output: 5 4和:a = { } b = ab . title = " title " console . log(a,b);如果使用=语句给一个右边有对象的var赋值,JavaScript不会复制而是引用对象的赋值,这是一个传递引用。如果想传递一个值,可以使用jquery:$。extend({},obj);示例2:a = {≥标题::〉标题:,〉儿童::{;信息::{;标题::〉子标题:,} }}b = $。extend({},a . child);b.info.title= "新标题";console.log(a.child.info.title,b . info . title);输出:新标题新标题这是由于:$执行的合并。默认情况下,extend()不是递归的;如果第一个对象的属性本身是一个对象或数组,它将被第二个或后续对象中具有相同键的属性完全覆盖。这些值不会合并。这可以在下面的例子中通过检查香蕉的价值来看出。但是,通过为第一个函数参数传递true,对象将被递归合并。第一个参数传递true,执行deepcopy,也就是递归复制,对象的值也被复制。