var obj = {
data : {
arrs : []
},
myset : function(){
var that = this;
setTimeout(function(){
var obj = [];
obj.push({ 's1': 2021 });
obj.push({ 's2': 2021 });
obj.push({ 's3': 2021 });
that.data.arrs = obj;
},1000);
},
myget : function(){
var that = this;
setTimeout(function(){
console.log(that.data);
},500);
}
}
obj.myset();
obj.myget();为什么that.data,arr实际上是没有值的, 但是打印还能显示, 但取值就是为空的
data : {
arrs : []
},
myset : function(){
var that = this;
setTimeout(function(){
var obj = [];
obj.push({ 's1': 2021 });
obj.push({ 's2': 2021 });
obj.push({ 's3': 2021 });
that.data.arrs = obj;
},1000);
},
myget : function(){
var that = this;
setTimeout(function(){
console.log(that.data);
},500);
}
}
obj.myset();
obj.myget();为什么that.data,arr实际上是没有值的, 但是打印还能显示, 但取值就是为空的
解决方案 »
- 在设置cookie时,path选项起什么作用?
- (转贴)程序员职业的发展前景及成为程序员所要具备的几个条件
- js获取checkbox的值问题
- javascript的menu的onMouseOut事件问题?
- 散所有分求一个javascript的时间控件!请进来看说明!谢谢!
- 需要做个导出窗口
- 高分求助 客户端如何取得控件的clientid
- 时间输入(HH:MM:SS)的解决方案和参考程序
- 在<head>中写document.onmouseover(某个函数) 等事件可以吗!??
- 请问: 哪有nestcap的dhtml中文手册下载?
- 用谷歌浏览器测试ev.wheelData怎么没有用了,求大家解答
- html2canvas生成图时,html中有接近30个canvas标签,在最后10个左右,就会出现空白,求解
console.log(that.data);
},500);的时候obj.data.arrs的值还是空数组的地址,后面1秒时间到了就变成新设置的数组,你看的时候已经超过一秒了,所以看见有值,你可以把myset里面的定时器设置久一点比如五秒看看 你就看不见了
即使定时时间为0,你也myget不到obj.arr;即使定时时间为10000,console也会打印出有值的obj.arr,只是等10秒才打印
var obj = {
data : {
arrs : []
},
myset : function(){
var that = this;
setTimeout(function(){
var obj = [];
obj.push({ 's1': 2021 });
obj.push({ 's2': 2021 });
obj.push({ 's3': 2021 });
that.data.arrs = obj;
},1500);
},
myget : function(){
var that = this;
setTimeout(function(){
console.log(that.data);
obj.myset();
},500);
}
}
obj.myget();
我之前遇见的情况是这样的, 整的我一脸懵
即使定时时间为0,你也myget不到obj.arr;即使定时时间为10000,console也会打印出有值的obj.arr,只是等10秒才打印打印出that.data的那一刻that.data.arr肯定还是空的,但是控制台保存了that.data的引用,相隔500毫秒后对arr做的设值,控制台自然能看到,如果设置时间久一点,你能看到效果的时间就久一点。这么理解有什么不对么
执行console.log后展开:执行所有代码后展开: