javascript立即执行函数 立即执行函数的原理是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 立即执行函数的一般形式是(function(){})()原理是在第一个()内创建一个函数表达式。函数后面的()实际上是执行函数的运算符,表示立即执行这个函数表达式。为什么要在()内创建函数呢?这中因为function(){}有两种用法。当function关键字出现在行首,它是一条“语句”,作为“语句”是没有返回结果的。所以不能用“语句”后面加()来执行函数当function关键字不是出现在行首,它就是一条“表达式”,作为“表达式”就有返回结果了。可以用“表达式”后面加()来执行函数在()内创建函数就是为了不让function关键字出现在行首。除了(function(){})()还可以(function(){}())[function(){}()]~function(){}()+function(){}()-function(){}()!function(){}()当然也可以用var txt=function(){}() 根据w3c标准应该是:(function (){}());还有就是只有函数表达式才能被执行符号执行而function (){};不能直接执行因为其是函数声明而不是函数表达式; 其实我是不建议在行首使用“(”的,当上一行结尾处没有加“;”时,有可能会错误的把两行合并成一条语句来执行。比如var foo = function () {}(function(){ })();下边行首的“(”会变成立即执行foo函数的()建议是用一元运算符 ! 或 ~ 来实现!function(){ }();~function(){ }();当然也可以在“(”前面补个“;”;(function(){ })(); 关于jQuery (JavaScript)代码运行过程的疑问,求原理性解释,有相关资料或链接推荐也好 求验证只能输入数字在1-99之间,保留一位小数正则表达式 请教个问题 JAVASCRIPT 提示信息的问题。在线给分 FckEditor 添加自定义按钮“插入旺旺”问题。 求购一比较好的ip数据库最好是access版的 高难度的复选框全选问题,参与皆有分 下载时如果有中文文件名,下载提示的时候文件名位乱码,怎么解决? 如何使网页在加载时,没有工具栏地址栏 请问一个文本输入框的小问题,客户端验证设置. js中的forEach方法问题 求助
(function(){})()
原理是在第一个()内创建一个函数表达式。函数后面的()实际上是执行函数的运算符,表示立即执行这个函数表达式。为什么要在()内创建函数呢?这中因为function(){}有两种用法。
当function关键字出现在行首,它是一条“语句”,作为“语句”是没有返回结果的。所以不能用“语句”后面加()来执行函数
当function关键字不是出现在行首,它就是一条“表达式”,作为“表达式”就有返回结果了。可以用“表达式”后面加()来执行函数在()内创建函数就是为了不让function关键字出现在行首。
除了(function(){})()
还可以
(function(){}())
[function(){}()]
~function(){}()
+function(){}()
-function(){}()
!function(){}()
当然也可以用
var txt=function(){}()
(function (){}());
还有就是只有函数表达式才能被执行符号执行
而function (){};不能直接执行因为其是函数声明而不是函数表达式;
比如
var foo = function () {}(function(){ })();下边行首的“(”会变成立即执行foo函数的()建议是用一元运算符 ! 或 ~ 来实现
!function(){ }();
~function(){ }();当然也可以在“(”前面补个“;”
;(function(){ })();