h = function(){
x = function(){
alert("try");
}();
x;
};
我对这种行为感到困惑:内部函数立即被调用,没关系。但为什么我必须有一个任务?为什么我不能匿名写?
答案 0 :(得分:1)
我添加了一个var并将内部执行移到了一行
h = function(){
var x = function(){
alert("try");
};
x();
};
然后你可以调用h
h();
或者您可以使用
直接调用它h = function(){
var x = function(){
alert("try");
};
x();
}();
或者您可以使用
将其扭曲为模块模式h = function(){
var x = function(){
alert("try");
};
return {
x:x
};
};
h().x();
希望有所帮助
答案 1 :(得分:0)
您可以匿名撰写,当然:
(function(){
(function(){
alert("try");
})();
}) ();
事实上,你的例子不起作用,因为你忘了在最后一行调用它:
} ();