相关疑难解决方法(0)

JavaScript加号在功能名称前面

我一直在寻找关于自我调用函数的信息,在某个地方我偶然发现了这个符号:

+function(){}
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释一下+这个功能前面的符号意味着什么?

javascript function operators iif iife

840
推荐指数
3
解决办法
8万
查看次数

JavaScript中的(function(){})()构造是什么?

我曾经知道这意味着什么,但我现在正在努力...

这基本上是说document.onload吗?

(function () {

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

javascript iife

739
推荐指数
13
解决办法
27万
查看次数

将整个Javascript文件包装在"(function(){...})()"之类的匿名函数中的目的是什么?

我最近一直在阅读很多Javascript,并且我注意到要导入的.js文件中的整个文件包含如下所示.

(function() {
    ... 
    code
    ...
})();
Run Code Online (Sandbox Code Playgroud)

这样做的原因是什么,而不是一组简单的构造函数?

javascript scope coding-style iife

572
推荐指数
6
解决办法
10万
查看次数

javascript函数领先爆炸!句法

我现在已经在一些库上看到了这种语法,我想知道它的好处是什么.(注意我很清楚闭包和代码在做什么,我只关心语法差异)

!function(){
  // do stuff
}();
Run Code Online (Sandbox Code Playgroud)

作为更常见的替代品

(function(){
  // do stuff
})();
Run Code Online (Sandbox Code Playgroud)

用于自我调用匿名函数.

我想知道一些事情.首先,允许顶级示例实际工作的是什么?为了使这个陈述在语法上正确,为什么必要的爆炸?我也被告知+有效,我相信其他一些代替!

第二,有什么好处?我所能说的只是它节省了一个角色,但我无法想象吸引众多采用者会带来如此巨大的好处.我还缺少其他一些好处吗?

我可以看到的唯一其他差异是自调用函数的返回值,但在这两个示例中,我们并不真正关心函数的返回值,因为它仅用于创建闭包.那么有人可以告诉我为什么人们可能会使用第一种语法吗?

javascript syntax

200
推荐指数
6
解决办法
2万
查看次数

这个符号在JavaScript中意味着什么?

这是什么?

这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.

为什么是这样?

Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.

主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.

此外,这是PHP符号引用的公然副本.我们需要一个JS.


请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接

javascript

86
推荐指数
1
解决办法
14万
查看次数

在JavaScript中,!function(){}()的优点是什么(function(){})()?

可能重复:
感叹号在功能之前做了什么?

我长期以来使用以下JavaScript在JavaScript中执行自动执行的匿名函数:

(function () { /* magic happens */ })()
Run Code Online (Sandbox Code Playgroud)

最近,我开始看到以下模式的更多实例(例如,在Bootstrap中):

!function () { /* presumably the same magic happens */ }()
Run Code Online (Sandbox Code Playgroud)

任何人都知道第二种模式的优势是什么?或者,这只是一种风格偏好吗?

javascript design-patterns iife

81
推荐指数
3
解决办法
8738
查看次数

什么!function($){$(function(){})}(window.jQuery)呢?

我正在使用twitter bootstrap创建一个站点,并试图初始化工具提示.除了添加如下内容:

 $("[rel=tooltip]").tooltip()  
在application.js中,除非我保留,在bootstrap文档中使用以下代码,我的工具提示不会初始化.

!function ($) {

  $(function(){  

  })

}(window.jQuery)

上面的代码是做什么的?

jquery jquery-tooltip

61
推荐指数
1
解决办法
3万
查看次数

在JavaScript中定义本地函数:使用var还是不使用var?

在JavaScript中声明本地(内部)函数时,有两个选项:

使用var关键字声明,分配给变量:

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

仅使用function关键字声明,而不指定给变量:

(function() {
    function innerFunction2() { ... };
    innerFunction2();
}());
Run Code Online (Sandbox Code Playgroud)

我可以看到第二个的一个优点:函数可以在调用它的代码下面声明,因此更容易将私有函数与实际执行的代码分开.

哪个更好,为什么

javascript closures declaration function

59
推荐指数
2
解决办法
3万
查看次数

Javascript匿名函数调用

当我遇到调用匿名函数的奇怪方式时,我正在阅读Twitter上的JS源代码 - 在改进我的JS知识库的过程中:

!function( $ ) {
    ...
}( window.jQuery );
Run Code Online (Sandbox Code Playgroud)

......这有效!:)

对每个人来说,显而易见的是:

function ( $ ) { ... } ( window.jQuery )
Run Code Online (Sandbox Code Playgroud)

不起作用(语法错误),而这一个是正确的:

(function ( $ ) { .... })( window.jQuery )
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这个魔术(为什么案例与!function作品)?

javascript anonymous-function

53
推荐指数
2
解决办法
5万
查看次数

Javascript函数定义语法

可能重复:
JavaScript:var functionName = function(){} vs function functionName(){}
在JavaScript中声明函数

我已经看到了两种不同的语法来定义javascript中的函数:

function f() {
   ...
}
Run Code Online (Sandbox Code Playgroud)

以及

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

这些有什么区别?其中一个被弃用了吗?

javascript syntax function

45
推荐指数
1
解决办法
3万
查看次数