在以下代码中
<script>
var vars = {}
$("document").ready(function() {
vars.var1 = 2;
alert(vars.var1); //shows 2;
});
alert(vars.var1); //shows undefined
</script>
为什么vars.var1未定义?
答案 0 :(得分:4)
$(document).ready()
中的代码在加载DOM之后才会运行。 alert
会立即执行。
答案 1 :(得分:3)
首先,
$("document").ready
应为$(document).ready
(无引号)
其次,
代码alert(vars.var1)
在$(document).ready()
函数内的代码之前执行。
由于vars
仅在var1
函数中分配了$(document).ready()
属性(在alert
执行后发生),vars.var1
将为{{} 1}}当你undefined
;
答案 2 :(得分:2)
因为$("document").ready
中定义的函数仅在文档完全加载时执行。也许this也有帮助。
答案 3 :(得分:0)
在读取文档之前,您没有设置值。当你打电话给警报(vars.var1);并且它返回undefined你实际上是在设置之前调用它,因为该代码在文档完全就绪之前执行。