1.已有的对象(数组)和生成的对象(数组)
function fn(i) { if (i == 2 || i == 1) { return 1; } return fn(i - 1) + fn(i - 2) } var o = [] for (var i = 1; i <= 10; i++) { var a = fn(i) o.push(a) } console.log(o); console.log(arr); console.log(o === arr); //false
返回值永远为false,原因和同步,异步之间没有任何关系...因为复杂数据类型会自己在堆区创建一个空间,所以两个空间永远不可能相等,除非另外一个对象是当前对象改变指向赋值的