问题共享变量
Issues sharing variables
首先,我让这些函数在点击时运行:
$('#bodyHVAC a#zMaps').one('click', function(){
appendZoneMapStuff(globalPaths.mallName, function(){
//console.log('appendZoneMapStuff');
setTimeout(function(){
getPathToUnits(function(){
setTimeout(function(){
setupRoof('roofMrtu', function(){
//console.log('setupRoof');
});
}, 500);
});
}, 0);
});
});
我这样设置,以便函数一个接一个地运行,但它们似乎并不总是这样做。
我有这个全局变量:
var AMnamePathObj = {};
为简单起见,我们设getPathToUnits()的代码为:
function getPathToUnits(callback){
AMnamePathObj = {lookin: "good"};
console.log(AMnamePathObj);
if (callback)
callback();
}
setupRoof()的代码是:
function setupRoof(){
console.log(AMnamePathObj);
if (callback)
callback();
}
但我得到[对象对象]时,console.log在setupRoof()运行,即使AMnamePathObj是一个全局变量!我甚至不想使用AMnamePathObj作为全局变量但我不知道如何将AMnamePathObj的信息传递给其他函数
[object object]是JavaScript中对象的默认字符串表示形式。如果你期待AMnamePathObj的一个有用的描述,你应该给它一个toString函数,例如:
var foo = {
name: "Steve",
toString: function() {
return this.name;
}
};
console.debug(""+foo);
与
比较console.debug(""+{});
因此,能够看到所讨论的变量并没有错。
相关文章:
- 在我的SPA应用程序中集成Facebook共享的问题
- 在索引.html和应用.js [node.js] 之间共享变量
- 在Knockoutjs中的ViewModels之间共享变量状态
- 共享变量和多个控制器AngularJS
- 在两个浏览器选项卡之间共享变量范围
- 简单的变量问题
- Javascript创建函数,以便在其他函数之间共享变量
- 为什么原型允许多个实例共享变量
- 关于node.js/javascript在文件之间共享变量
- 局部全局变量问题 - JavaScript
- 递归承诺调用 - 内存范围变量问题
- 开关变量问题
- 在 AngularJS 和非 AngularJS 弹出窗口之间共享变量
- 简单的 Jquery 变量问题
- nodejs-settimeout是否在不同的循环中共享变量
- 在Ember.js中的方法之间共享变量上下文
- 使用NodeJS与客户端共享变量
- Javascript全局变量问题
- 在页面之间共享变量
- 问题共享变量