前端之家收集整理的这篇文章主要介绍了
javascript – jquery函数未定义 – 范围问题?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个很简单的问题需要帮助.
我有两个js文件,我已经通过html中的标签加载到页面上.这两个文件中的所有代码都在$(document).ready()中执行/加载;
在某个事件中,第一个文件中定义的函数A尝试调用另一个文件中定义的函数B.但是,这失败了,我得到一个错误,即函数B没有定义.
我注意到如果我在$(document).ready()之外定义函数B,那么函数A能够调用函数B – 它在范围内.
为什么?
最佳答案
这是一个范围问题.
函数中定义的所有
内容只能在该
函数中访问,除非以某种其他方式使其全局化.当您将该
功能移到就绪
功能之外时,它将变为全局
功能,使其可以全局访问.
编辑:当我说“以其他方式制作全球”时,我的意思是这样的:
window.something = "something";
即使您的ready函数中存在这行代码,这也会创建一个全局变量.