当运行以下脚本时,我没有收到任何警告。当我删除$('document')。准备好了,我收到警报了。美元("文件")。准备在外部js文件中引用函数的问题?如果是,为什么?
scriptOne.js
$('document').ready(function(){
function derp () {
alert('derp');
}
});
scriptTwo.js
$('document').ready(function(){
derp();
});
derp.html
<script src='scriptOne.js' type='text/javascript'></script>
<script src='scriptTwo.js' type='text/javascript'></script>
记住javascript有函数作用域。因此,在本例中,函数derp()
只存在于scriptOne.js
中定义的匿名函数中。
这意味着它不能从scriptTwo.js
如果您从第一个文件中删除$('document').ready
并只定义函数,它将被全局定义。
另外,(正如其他人提到的)你不需要在document
关于函数作用域的更多信息