事情是酱紫的:
有一个数组arr非空,
有一个对象obj中有一个supplier属性,
现在代码是这样的
arr =[{"name":"aa","age":"23"},{"name":"bb","age":"24"}];
obj.supplier = arr;
console.log(obj.supplier);
//这里有时候可以打印出来数组,但是长度是对的,可惜里面每个元素都是空的;有时候直接打出来的是个空数组
//然后这里执行了其他的代码,其中包含一个ajax请求,
//在ajax请求的回调always中我清空了数组arr
$.ajax({
...
}).always(function (){
arr =[];
});
我不理解的是js顺序执行的时候 我曾经在console.log前放debugger,一步一步执行的时候是没有问题的,并且打印出来的数据也是没问题的,一旦中间不间断的执行结果总是不对,
求指教~~
另外 我也考虑过是不是跟数组是引用类型有关系,引用类型的值是按照引用访问的,所以在下面把数组清空的时候上面的obj.supplier也受到了影响呢?但是js 不是顺序执行么,那console.log的时候打印也应该是正确的 而不应该是现在这样的结果.
求指教~~
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号