自我调用函数javascript

rub*_*buc 4 javascript

我在firefox和chrome中编写了一个自调用函数,它不会调用它.

我写了一些东西到了效果

(function () { alert("THE"); })();
Run Code Online (Sandbox Code Playgroud)

自调用函数在当前浏览器中不起作用?

谢谢

编辑:我确实包含了所有必要的标签,所有其他代码都在页面上运行

nin*_*cko 8

"自我调用函数"并不是javascript的一部分,它只是一个人们称之为特定代码模式的术语(如AJAX等); 这些模式应该适用于javascript工作的任何地方.

你所谓的"自调用函数"只是创建一个匿名函数并立即调用它(而不是将其存储在var中,作为对象值,作为函数参数等).

也就是说,以下内容基本相同:

var f = function(){...}; f()
Run Code Online (Sandbox Code Playgroud)

( function(){...} )()
Run Code Online (Sandbox Code Playgroud)

因此,因为你的"自我调用函数"是javascript的基本部分,所以除非内部不起作用或者你的环境搞砸了,否则它没有可行的方法.您可以将代码复制粘贴到新的空白页面上,它可以正常工作.其他一切都必须出错:

在开发控制台中检查错误.具体来说,检查以确保您没有语法错误或者您正在测试它的网页上没有发生一些奇怪的事情(例如,如果您以某种方式重新定义alert...).

  • 你是对的问题是我有一个语法错误,它之前的语句有一个隐式的分号,它应该是显式的.它导致了解析错误 (2认同)