我有:
var Init = (function() {
my js goes here
})();
Run Code Online (Sandbox Code Playgroud)
并且在加载页面时我的js正确执行.我也有:
$('form :checkbox').change(function() {
Init();
});
Run Code Online (Sandbox Code Playgroud)
但是萤火虫说Init不是一个功能.
小智 54
它不是一个功能.
(function() {
...
})()
Run Code Online (Sandbox Code Playgroud)
然后评估匿名函数.和评估的结果显然不返回函数对象在这种情况下:-)
考虑:
f = (function() {
return "not a function :("
})()
alert(f())
Run Code Online (Sandbox Code Playgroud)
和
f = (function() {
return function () { return "Yay!" }
})()
alert(f())
Run Code Online (Sandbox Code Playgroud)
快乐编码:)
这是一个"执行一次"然后"返回稍后要执行的东西"的函数.(参见"你可以[分配]一个功能或者调用它;你不能同时做两个......"来自Slaks的答案.)但是,我不会这样做.
Init = (function () {
function Init () {
alert("whee!")
}
Init()
return Init
})()
Init()
Run Code Online (Sandbox Code Playgroud)
这是CD Sanchez的另一个解决方案(更短/更清晰)(见注释),它利用了赋值评估指定值的事实:
var Init; (Init = function Init () {
alert ("wee");
})()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21667 次 |
| 最近记录: |