相关疑难解决方法(0)

用于自动执行匿名JavaScript函数的括号的位置?

我最近将当前版本的json2.js与我在项目中的版本进行了比较,并注意到函数表达式的创建和自我执行方式有所不同.

用于在括号中包装匿名函数然后执行它的代码,

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

但现在它将自动执行的函数包含在括号中.

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

有通过CMS在接受答案的注释解释JavaScript的封装匿名函数的语法是"既:(function(){})();(function(){}());有效."

我想知道有什么区别?前者是否通过绕过全局匿名函数来占用内存?括号应该放在哪里?

javascript syntax anonymous-function iife

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

JSLint错误:"将调用移动到包含该函数的parens"

JSLint对此错误的意义是什么?它应该如何改写?

Error: Problem at line 78 character 3: Move the invocation into the parens that contain the function: })(jQuery);

javascript debugging jquery compiler-errors jslint

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

"(function(){})()"和"(function(){}())"在JavaScript中功能相同吗?

均低于警戒这些代码块foo,然后bar.唯一的区别是})()}()).

代码1:

(function()
{
    bar = 'bar';
    alert('foo');
})();

alert(bar);
Run Code Online (Sandbox Code Playgroud)

代码2:

(function()
{
    bar = 'bar';
    alert('foo');
}());

alert(bar);
Run Code Online (Sandbox Code Playgroud)

除了语法之外,还有什么区别吗?

javascript function

55
推荐指数
3
解决办法
5901
查看次数

(function(){})()之间的区别; 和function(){}();

可能重复:
"(function(){})()"和"(function(){}())"在JavaScript中功能相同吗?

这是我还没有想到的东西,但是我一直在使用function(){}(),因为我添加了括号后我的VIM语法突出显示,虽然我已经看过(function(){}) ()很多次,也许它是一个IE的东西?

编辑:

var singleton = function() {
    // code
}();

var singleton = (function() {
    // code
})();
Run Code Online (Sandbox Code Playgroud)

javascript syntax

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

(function(){...}())之间有区别吗?和(function(){...})();?

可能重复:
自动执行匿名JavaScript函数的括号位置?

有时我看到:

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

有时我看到:

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

我看到有和没有参数的两种形式.它们 执行匿名功能.

这两种形式有区别吗?是否有任何令人信服的理由使用一种形式而不是另一种形式?

javascript anonymous-function

22
推荐指数
2
解决办法
3877
查看次数

Javascript匿名关闭

我已经阅读了很多关于Javascript中的闭包的内容.我在mozilla.org上看到,封闭应该被定义为

(function(){...})();

但在http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html上,它说封闭功能是

(function(){...}());

有什么区别或后者是错的?last()的目的是什么?你会把一些参数放进去吗?我正在寻找一个很好的参考.

编辑:此外,Mozilla.org上有一个例子

var makeCounter = function() {
var privateCounter = 0;
  function changeBy(val) {
    privateCounter += val;
  }
  return {
    increment: function() {
      changeBy(1);
    },
    decrement: function() {
      changeBy(-1);
    },
    value: function() {
      return privateCounter;
    }
  }  
};
Run Code Online (Sandbox Code Playgroud)

为什么这个'功能'需要分号?如果需要在声明后立即调用,则应在结束分号之前放置a().但事实并非如此.

javascript anonymous-function

17
推荐指数
2
解决办法
9630
查看次数