javascript – jquery函数未定义 – 范围问题?

我有一个很简单的问题需要帮助.

我有两个js文件,我已经通过html中的标签加载到页面上.这两个文件中的所有代码都在$(document).ready()中执行/加载;

在某个事件中,第一个文件中定义的函数A尝试调用另一个文件中定义的函数B.但是,这失败了,我得到一个错误,即函数B没有定义.

我注意到如果我在$(document).ready()之外定义函数B,那么函数A能够调用函数B – 它在范围内.

为什么?

最佳答案
这是一个范围问题.函数中定义的所有内容只能在该函数中访问,除非以某种其他方式使其全局化.当您将该功能移到就绪功能之外时,它将变为全局功能,使其可以全局访问.

编辑:当我说“以其他方式制作全球”时,我的意思是这样的:

window.something = "something";

即使您的ready函数中存在这行代码,这也会创建一个全局变量.

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...