var ninja = (function(){
function Ninja(){};
return new Ninja();
})();
为什么上面的函数封装在括号里,为什么会有();
最后?
我认为这是一个构造函数,因为 ();
最后,但是为什么对象要用括号括起来呢?
最佳答案
此代码相当于:
function Ninja() {
// nothing here
}
var ninja = new Ninja();
尽管在您列出的代码中,函数/对象 Ninja 不是全局范围。
代码 (function() {...})();
基本上表示“获取此处包含的任何函数并立即执行它”。因此它创建了一个匿名函数并随后调用它。
关于javascript - 解释一下下面的 JavaScript 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18154782/