为什么全局 var debug 的计算结果为 [object Object]

发布于 2024-11-25 08:58:44 字数 523 浏览 1 评论 0原文

为什么全局 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 模拟器使用 ios 的 Phonegap 进行开发。

谢谢

Why does the global var debug get evaluated to [object Object] instead of to 1? Consider this code:

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);
    }
}

When my code first runs the eval is made properly so my alert says 'debug==1' but later (perhaps after phonegap finishes loading) it starts giving me debug==[object Object]. I am developing using phonegap for ios using xcode and iphone simulator.

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

听风念你 2024-12-02 08:58:44

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

It looks like you've declared debug as a global variable and it's probably getting reassigned by other code loaded/executed later. Try changing the variable name or making it not global.

把梦留给海 2024-12-02 08:58:44

在您代码的稍后位置,您所使用的平台会将 debug 的值更改为对象。
将变量名称从 debug 更改为 smthing nt ,就像 new_debug 一样明显

somewhere later in your code the platform ur working on changes the value of debug to an object.
change the variable name from debug to smthing nt that obvious like new_debug

邮友 2024-12-02 08:58:44

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

http://www.daveoncode.com/2010/01/12/debugging-phonegap-applications-using-xcode-console/

片段从那里:
幸运的是,PhoneGap 提供了一种访问 Xcode 控制台并通过选择三种不同级别打印消息的方法:日志、警告和错误。为了打印消息,我们必须使用调试对象,它具有范围窗口(它是一个全局对象),如下所示:

Your debug variable gets replaced by phonegap which creates a debug object see:

http://www.daveoncode.com/2010/01/12/debugging-phonegap-applications-using-xcode-console/

Snippet from there:
Fortunately PhoneGap offers a way to access to Xcode console and print messages by choosing among three different levels: log, warn and error. In order to print a message, we have to use the debug object, which has scope window (it is a global object), in this way:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文