相关疑难解决方法(0)

这个JavaScript/JQuery语法如何工作:( function(window,undefined){})(window)?

你有没有看过JQuery 1.4源代码的内幕,并注意到它是如何以下列方式封装的:

(function( window, undefined ) {

  //All the JQuery code here 
  ...

})(window);
Run Code Online (Sandbox Code Playgroud)

我读过一篇关于JavaScript Namespacing的文章和另一篇名为" 一对重要的Parens "的文章,所以我知道这里发生了什么.

但我以前从未见过这种特殊的语法.在那undefined做什么?为什么window需要通过然后再次出现?

javascript syntax jquery

153
推荐指数
5
解决办法
4万
查看次数

(function(){})()构造如何工作以及人们为什么使用它?

(function() {})()并且它的jQuery特定表亲(function($) {})(jQuery)一直在Javascript代码中弹出.

这些结构如何工作,它们解决了哪些问题?

举例赞赏

javascript

78
推荐指数
7
解决办法
5803
查看次数

Node.js JavaScript语法

我在Node.js应用程序中看到了一段JavaScript代码.

( function() { console.log("gg") } )(this)
Run Code Online (Sandbox Code Playgroud)

我想知道为什么使用=>(function(){})(this)这种类型的结构,以及如何编译.

我理解为什么我们有这两个方括号()(),以及为什么这个代码可以工作.

javascript syntax node.js

22
推荐指数
1
解决办法
2509
查看次数

带有'undefined'参数的JavaScript函数

围绕Modernizr源代码,我发现了一件奇怪的事情:

window.Modernizr = (function(window,document,undefined) {
Run Code Online (Sandbox Code Playgroud)

之后,将使用两个参数(this, this.document)调用此函数.

为什么undefined在这里使用?它有意义还是只是奇怪的代码风格?

javascript modernizr

20
推荐指数
1
解决办法
2065
查看次数

在JavaScript函数中名为"undefined"的参数的用途是什么?

在查看jQuery的未压缩源代码时,我偶然发现了一些我不太了解的内容.当创建他们的匿名函数时,他们将undefined作为第二个参数.这是做什么的,为什么他们使用undefined?是否有必要将undefined作为参数放在匿名函数中?以下是我所谈论的一个例子.

(function( window, undefined)  {
  ...code here
})( window );
Run Code Online (Sandbox Code Playgroud)

javascript undefined

17
推荐指数
1
解决办法
1153
查看次数

为什么jQuery将window对象传递到它们的作用域中

好的,我正在为自己写一个项目的js库,我有一个问题.像大多数其他库一样,为了保留我的变量范围,我将代码包装在此:

(function() {
// my code here
})();
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:我注意到jQuery传递了window对象并设置了自己的文档对象,如下所示:

(function(window) {
var document = window.document;
})(window);
Run Code Online (Sandbox Code Playgroud)

有谁知道他们为什么这样做?

javascript variables jquery scope window

13
推荐指数
1
解决办法
2486
查看次数

Javascript库中名为undefined的变量

可能的重复:
这个JavaScript/JQuery语法如何工作:( function(window,undefined){})(window)?
使用(函数(窗口,文档,未定义){...})(窗口,文档)赋予什么优势?

我见过很多javascript库创建一个名为"undefined"的变量,iam无法弄清楚它的用途,下面是从jQuery库复制的行

 * Date: Wed Feb 23 13:55:29 2011 -0500
 */
(function( window, undefined ) {

// Use the correct document accordingly with window argument (sandbox)
var document = window.document;
var jQuery = (function() {
Run Code Online (Sandbox Code Playgroud)

请告诉我这样做的原因和好处!!

javascript jquery

8
推荐指数
2
解决办法
711
查看次数

在javascript中重命名文档变量是否安全

我注意到,谷歌关闭编译没有重命名document为类似d减少的空间.

我想不出这会破坏代码的情况(即document指向其他东西的地方).实际上也是如此window.

是否有理由保护document这种方式?

==编辑==

通过重命名它我正在考虑重新分配它.以下示例.

var d=document;
var obj1=d.getElementById("obj1");
var obj2=d.getElementById("obj2");
... // with enough uses of document so it makes to reassign it size-wise.
Run Code Online (Sandbox Code Playgroud)

javascript google-closure-compiler

8
推荐指数
1
解决办法
382
查看次数

Javascript函数有(文档)最后打了?

我正在尝试编写一个简单的Facebook应用程序.在我需要的代码中,我发现了这个:

  // Load the SDK asynchronously
  (function(d){
   var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
   if (d.getElementById(id)) {return;}
   js = d.createElement('script'); js.id = id; js.async = true;
   js.src = "//connect.facebook.net/en_US/all.js";
   ref.parentNode.insertBefore(js, ref);
  }(document));
Run Code Online (Sandbox Code Playgroud)

为什么这个函数被包裹在()中并且(文档)最后被打了?我以前没见过这种JavaScript法术.

感谢您的任何意见.

javascript

2
推荐指数
1
解决办法
121
查看次数