【发布时间】:2011-07-21 15:57:59
【问题描述】:
为什么全局 var debug 被评估为 [object Object] 而不是 1?考虑这段代码:
var debug = 1;
function hum(mess) {
alert('hum alert debug == ' + debug);
console.log('hum console.log debug == ' + debug);
if (debug == 1) {
console.error('hum mess == ' + mess);
} else {
console.error('hum debug != 1 mess == ' + mess);
}
}
当我的代码第一次运行时,eval 是正确的,所以我的警报说“debug==1”但后来(可能在 phonegap 完成加载之后)它开始给我 debug==[object Object]。我正在使用 xcode 和 iphone 模拟器使用 phonegap for ios 进行开发。
谢谢
【问题讨论】:
-
因为字符串转换的工作方式。基本上 js 类型是一个失误。还有alert很傻,别用了。
-
可能是您的代码和您使用的库之间存在冲突?他们也可以使用一个名为 debug 的变量,但将其设置为一个对象。
-
看起来
debug正在被其他代码替换。使用DEBUG看看是否还会发生同样的事情。
标签: javascript ios object cordova evaluation