您现在的位置是:主页 > news > 10大设计师网站/怎么做一个属于自己的网站
10大设计师网站/怎么做一个属于自己的网站
admin2025/5/2 1:14:52【news】
简介10大设计师网站,怎么做一个属于自己的网站,哪里做网站最好,深圳海外医疗网站建设JavaScript的立即执行函数是函数在被创建时就被立即执行。 一般情况有俩种形式: (function () {} ()) 这个较好。 (function () {} ) () 下面来介绍一下这个函数的特点。 函数一旦被执行,那么就不能在被执行了! eg 1:var temp(function () {console.log…
JavaScript的立即执行函数是函数在被创建时就被立即执行。
一般情况有俩种形式:
(function () {} ()) 这个较好。
(function () {} ) ()
下面来介绍一下这个函数的特点。
函数一旦被执行,那么就不能在被执行了!
eg 1:
var temp=(function () {console.log(1);}())temp();
结果很明显:输出1后,立即执行函数就已经失去作用了,temp已经与它断开联系了,temp为undefined
eg 2:
(function temp () {console.log(1);}())temp();
结果很明显:输出1后,立即执行函数就已经失去作用了,即使是函数名也失效了
这里提醒一下,立即执行函数一般不写函数名,因为写了也没用!
立即执行函数除上面的特点外和其他的函数一模一样的,这里有个问题,怎么接受参数了?
立即执行函数的另一个()就是这个用处:
计算a+b
var temp=(function (a,b) { console.log(a+b); }(1,2))
立即执行函数的原理:
在JavaScript中,首先要明白一点,只有表达式才可以执行!!!
这里介绍一下JavaScript里面函数的定义的形式
1:function temp() { } 这种是函数的声明
2:var temp = function () {} 这种是函数表达式
我现在来看一个问题,我们知道()运算符可以执行函数,前面放上函数名或者函数的引用皆可
那么我们现在看下面俩段代码:
function temp() {console.log(1);} ();
var temp =function () {console.log(1);} ();
相信你应该知道结果了。
第一种: 低级错误
第二种:
刚刚已经说了只有表达式才可以执行,第一种别人叫函数声明和表达式没有关系!!!
那么我们来看看为啥立即执行函数为什么可以执行?
()嘛!别人是运算符撒,把它变成表达式了
(function () {} ()) 外面的括号优先级高,也是先变成表达式在执行!
(function () {} ) ()
那么还有其他的运算符可以吗?当然有
+function temp() {console.log(1);} ();
- function temp() {console.log(1);} ();
! function temp() {console.log(1);} ();
.....