您是否曾经看过 jQuery 1.4 源代码,并注意到它是如何通过以下方式封装的:
(function( window, undefined ) {
//All the JQuery code here
...
})(window);
我以前从未见过这种特殊的语法。那 undefined
在那里做什么?为什么 window
需要通过传递然后再次出现在末尾?
undefined是一个普通变量,可以使用轻松更改undefined="newvalue";
。因此,jQuery创建了一个真正未定义的局部“未定义”变量。
由于性能原因,将window变量设为本地变量。因为当JavaScript查找变量时,它首先会遍历局部变量,直到找到变量名。当找不到它时,JavaScript将遍历下一个范围等,直到它对全局变量进行过滤。因此,如果将window变量设为本地,JavaScript可以更快地查找它。
问题内容: 我猜想使用这种模式是新的热点,但是我不了解优点是什么,也不了解范围界定的含义。 模式: 所以我对此有几个问题。 封装这样的对象有特别的优势吗? 为什么要输入 窗口 和 文档 而不是正常访问? 到底为什么要传入? 将我们正在创建的对象直接附加到窗口是否是一个特别好的主意? 我习惯了我所说的Crockford风格的Java封装(因为我从Douglas Crockford Javascrip
一个基于jquery的window弹出框,支持ie及firefox。 js的弹出框有两个问题是比较麻烦的,就是在iframe里创建弹框,遮罩层要覆盖整个页面。另一个就是弹出框与iframe的方法调用及数据传递。此组件解决了这些问题,有详细例子。 有问题联系QQ:505074122,或发邮件505074122@qq.com
问题内容: 我做了一个test.html文档来测试脚本。不知何故它不起作用,我不明白为什么什么也没发生。该脚本位于-tags中,并带有-tag,而css也具有- tags。为什么不起作用?这是代码 问题答案: 由于用于绑定事件处理程序的代码是在元素存在于中之前执行的,因此事件未绑定到元素上。 要解决此问题,您可以 将您的代码包装在回调中,以便在加载完成后执行您的代码 将您的脚本移动到的末尾,以便所
还有一种创建函数的方法。它很少被使用,但有些时候只能选择它。 语法 创建函数的语法: let func = new Function ([arg1, arg2, ...argN], functionBody); 该函数是通过使用参数 arg1...argN 和给定的 functionBody 创建的。 下面这个例子可以帮助你理解创建语法。这是一个带有两个参数的函数: let sum = new F
主要内容:一、Window 对象,二、Window对象的方法浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。 一、Window 对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。 全局变量是 window 对象的属性。 全局函数是 window 对象的方法。 甚至 HTML DOM 的 document 也是 window 对
问题内容: 我不是在问什么合适的链接语法,我知道它可能是这样的: 但是,我真的很想了解它的内部工作,据我所知,链接是与其他著名框架相比的优势之一,但是对于像我这样的新手程序员来说,这是很多抽象的东西,我敢肯定在那里可以提供一个解释,让我了解链接的工作方式。 谢谢! 问题答案: 如果您的对象具有某些方法,并且每个方法都返回带有方法的对象,则只需从返回的对象中调用一个方法。