Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么全局变量调试的计算结果为[object]_Javascript_Ios_Object_Cordova_Evaluation - Fatal编程技术网

Javascript 为什么全局变量调试的计算结果为[object]

Javascript 为什么全局变量调试的计算结果为[object],javascript,ios,object,cordova,evaluation,Javascript,Ios,Object,Cordova,Evaluation,为什么全局变量调试的计算结果是[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); }

为什么全局变量调试的计算结果是[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);
    }
}
当我的代码第一次运行时,会正确地进行评估,因此我的警报会显示'debug==1',但稍后(可能在phonegap完成加载后),它会开始显示debug==[object]。我正在使用xcode和iphone模拟器为ios开发phonegap


谢谢

看起来您已经将
debug
声明为一个全局变量,它可能会被稍后加载/执行的其他代码重新分配。尝试更改变量名或使其不是全局变量。

稍后在您的代码中,平台ur处理的某个地方将debug的值更改为对象。
将变量名从debug更改为smthing nt,这与new_debug一样明显

您的调试变量将被创建调试对象的phonegap替换请参见:

其中的片段:
幸运的是,PhoneGap提供了一种访问Xcode控制台和打印消息的方法,可以在三个不同的级别中进行选择:日志、警告和错误。为了打印消息,我们必须使用调试对象,它具有作用域窗口(它是一个全局对象),因为字符串转换的工作方式:

。基本上,js类型是一个错误。此外,警告是愚蠢的,停止使用它。您的代码和正在使用的库之间可能存在冲突?他们也可以使用一个名为debug的变量,但将其设置为一个对象。使用
DEBUG
查看是否仍然发生同样的事情。是的,就是这样,我想DEBUG正在phonegap的某个地方重新分配任务。想到这一点,但这似乎是一厢情愿的想法,这将是如此简单。谢谢