js之立即执行函数作用,js之立即执行函数几种写法
一个。定义:
这种函数是未声明的,在一次执行后就会被释放(销毁)。
好处:为了避免变量污染(命名冲突),适合初始化。这相当于创建一个“私有”名称空间。这个名称空间的变量和方法不会破坏全局名称空间。
(PS:立即执行函数是预编译的,有执行时上下文,但运行后会被销毁)
两个。公文写作:(有两种)
1.这也是W3C标准推荐的书写方式:
一个匿名函数后面跟着一个括号,整个函数被包装在一个括号操作符中。
(function(){ }());2.第二种写法:
匿名函数包含在括号运算符中,后面跟一个括号。
(function(){ })();三个。关闭和关闭相结合的一个例子:
在下面的闭包代码中填入代码,在页面上输出0123456789。
脚本类型=文本/javascript
功能测试(){
var arr=[];
for(var I=0;i 10i ){
//在这里填写代码
}
返回arr
}
var myarr=test();
for(var j=0;j 10j ){
myarr[j]();
}
/脚本解决方案:使用立即执行函数。当你读到这里时,它将被立即执行,也就是说,它将在for循环中执行。
知识点:对于循环嵌套函数,然后保存到外部。结束。立即执行该功能。
解决方案代码如下:
(函数(j){
arr[j]=function(){
document . write(j );
}
}(I));四个。在后来的一些学习中,整理了一些知识点,供大家参考:
1.执行符号只能执行表达式。
这里涉及到三个概念:函数声明、函数表达式和匿名函数。让我给你解释一下。
1.)函数声明:函数关键字函数名
函数fnName() {.} ;2)函数表达式:var变量名=函数关键字函数体执行语句(这里没有函数名)
var fnName=function() {.} ;3)匿名函数:函数体执行语句(这里没有函数名)
函数(){.} ;匿名函数属于函数表达式。他有很多优点。——1.给一个变量就产生了一个函数。2.给一个事件成为一个事件处理程序或者创建一个闭包。
一般来说,立即执行函数必须是函数表达式。
2.一个表达式被执行后,它有一个自然的函数:忽略这个函数的名字。
功能测试(){
console . log(a);
}();
执行后,测试被销毁。PS:面试问题。在这里,和大家分享一个很有意思的话题。是阿里的一个面试问题,刚好涉及到这里,很混乱。
看看下面的代码,猜猜页面上会发生什么有趣的事情。
脚本类型=文本/javascript
功能测试(a、b、c、d){
console . log(a b c d);
}(1,2,3,4);
/script你必须猜测控制台上会输出一个和,也就是10。一开始我是这么想的,其实不是。看下图:
很有趣,不是吗?没发生什么事。计算机没有报告错误,也没有执行内容。
当时我也很迷茫。通过我的百度知识点查了一些东西,简单给大家说一下。
在计算机内部,他的代码被标识为:
脚本类型=文本/javascript
功能测试(a、b、c、d){
console . log(a b c d);
}
(1,2,3,4);
/脚本
计算机将此理解为函数声明,函数声明之后是类似这样的内容:
逗号运算符,后跟一个括号。
我们知道逗号运算符的结果是4,但是跟函数声明是没用的,所以计算机内部系统最后识别为函数声明,只是声明,没有函数执行。所以页面和控制台上什么都没有。很有趣,不是吗?好了,你马上分享功能到此为止。如果想了解一些其他有趣的前端知识,请关注我。
我会随时更新一些有趣的知识。
版权归作者所有:原创作品来自博主wx5c4a6751206d9,转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。