【问题标题】:Node.js JavaScript syntax [duplicate]Node.js JavaScript 语法 [重复]
【发布时间】:2014-04-11 01:10:22
【问题描述】:

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

( function() { console.log("gg") } )(this)

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

我明白为什么我们有这两个括号 ()(),以及为什么这段代码可以工作。

【问题讨论】:

  • 好吧,有趣的是,为什么(this)被通过了?!?

标签: javascript node.js syntax


【解决方案1】:

这是一个自调用匿名函数。当您想从全局命名空间中隐藏变量时,此模式很有用。

(function(){
    var foo = "foo";
})();

console.log(window.foo); // undefined

另见What do parentheses surrounding a JavaScript object/function/class declaration mean?

What advantages does using (function(window, document, undefined) { … })(window, document) confer?

【讨论】:

  • 怎么样 (function(){})(this); “this”会调用这个函数吗? (function(global, requirejs, require){})(this, requirejs, require) 怎么样?
  • 这些只是您可以传递给给定函数的附加参数,我将在我的回答中解决这个问题
  • 我认为这解释了你需要知道的一切link
猜你喜欢
  • 2017-05-14
  • 2018-04-29
  • 1970-01-01
  • 1970-01-01
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 2013-04-29
相关资源
最近更新 更多