假设我有一个链接到两个脚本的 HTML:
...
<script type="text/javascript" src="general.js"></script>
<script type="text/javascript" src="specific.js"></script>
...
这两个脚本中的每一个都定义了自己的 jQuery .ready()
。
一般.js:
jQuery(function() {
var foo;
$('#btn').click(function() {alert(foo())});
}
具体的.js:
jQuery(function() {
foo = function() {alert("hello")};
$('#btn').click(function() {foo()});
}
哪里#btn
是一个按钮元素。
当我点击时,#btn
我期待看到“hello”对话框,但相反,我进入Uncaught TypeError: undefined is not a function
了 chrome 开发人员工具。
我自己的理解是,在事件foo
访问它之前应该已经分配了函数,而不是未定义。click
显然,我的理解是不正确的。有人可以向我解释为什么它的行为方式是这样吗?