我在火狐和谷歌浏览器中编写了一个自调用函数,但它没有被调用。
我大致写了这样的内容:
(function () { alert("THE"); })();
自执行函数在当前浏览器中无法工作吗?
我已经包含了所有必要的标记,页面上的所有其他代码都可以正常工作。
我在火狐和谷歌浏览器中编写了一个自调用函数,但它没有被调用。
我大致写了这样的内容:
(function () { alert("THE"); })();
自执行函数在当前浏览器中无法工作吗?
我已经包含了所有必要的标记,页面上的所有其他代码都可以正常工作。
var f = function(){...}; f()
和
( function(){...} )()
因为你的“自执行函数”是JavaScript的基本部分,所以除非内部不工作或者环境出了问题,否则它不可能无法正常工作。如果你将代码复制粘贴到一个新的空白页面上,它会正常工作。肯定还有其他问题:
检查开发控制台中的错误。具体来说,请确保没有语法错误或者测试网页存在奇怪的问题(例如如果你以某种方式重新定义了alert
...)。
我曾遇到一个自执行函数的问题,会导致出现以下错误...
Uncaught TypeError: object is not a function
<script type="text/javascript">
(function() {
alert('Hello World!');
})();
</script>
这在我安装的每个浏览器上都可以工作。
那个函数是有效的。Javascript支持函数式编程,因此即使是非常老的浏览器,也不应该无法运行该代码。你确定该语句被执行了吗?尝试调试在该语句之前发生的javascript。
这个带有返回值的自执行函数在所有现代浏览器(Safari、Chrome和Firefox)中都可以正常工作。该函数会立即、自动地匿名执行。
<script type="text/javascript">
alert((function(){
return("Hello World");
})());
</script>
这个函数肯定能够正常工作。我建议你检查一下你的浏览器控制台,看看页面中是否存在 JavaScript 错误。也许你可以尝试在脚本开头添加一个简单的 console.log 函数来查看是否首先调用了任何 JavaScript 代码。
我遇到了类似的问题,我在下面提到。
我无法在任何浏览器上运行这个自调用函数。
(function myfunc() {
var x = 34;
console.log(x);
})();
window.onload = (function myfunc() {
var x = 34;
console.log(x);
})();
alert("THE");
而不使用函数,那么弹出框会执行吗?我认为不会。 - Paul