javascript - 已定义的js对象,调试时提示未定义
巴扎黑
巴扎黑 2017-04-11 12:05:24
[JavaScript讨论组]

是个初级的问题,js调试的时候提示变量未定义。代码如下:

明明在windows.onload中定义了。但oBtn的在执行的时候无法进行。

是个比较初级的问题,谢谢大神的指点。我已经在百度和论坛找过了,但是没有找到类似的,不知道是不是我还不太熟悉。

囧,没有注意了。这是一个局部变量。。。已经解决

巴扎黑
巴扎黑

全部回复(4)
大家讲道理

因为oBtn在绑定click事件的时候还没有执行声明的语句;你应该将该绑定方法放在onload函数里。

怪我咯

既然你都说了是局部变量、为什么不把绑定事件的那段代码写到window.onload里面呢

JS有闭包特性

window.onload = function(){
    var str = "test"
}
console.log(str)

仔细看看这段代码为什么会取不到、你的问题就解开了
PHP中文网

你定义的两个变量是在onload事件函数里,你在onload事件外为obtn绑定事件肯定是找不到的,你试试把对象里的var都删掉,脚本就能运行了(只是做测试,但不推荐这样定义变量而污染了全局变量)。

PHP中文网

绑定代码要写到onload代码块中。
JavaScript在ES 5 中是函数作用域,如果想使用对应的变量,需要在同一个作用域下。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号