javascript - 为什么在运行时调用声明的函数

Fer*_*ito 5 javascript function

仅仅向对象声明函数会导致其调用

var a  = {};
a.xyz = new function() { 
    alert("dosomething");
}
Run Code Online (Sandbox Code Playgroud)

我希望,a.xyz只有在我调用它时才会调用声明的函数:

a.xyz();
Run Code Online (Sandbox Code Playgroud)

我的假设有什么问题?

Hri*_*nev 3

删除新的,一切都会好起来的:

var a  = {};
a.xyz = function() { 
    alert("dosomething");
}
Run Code Online (Sandbox Code Playgroud)

JSFiddle: http://jsfiddle.net/vnj8pzm1/

编辑:有关 IIFE 的更多信息 -立即调用函数表达式 (IIFE)

  • 如果你能争论为什么会很好;) (6认同)