九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
js自執(zhí)行函數(shù)
1.函數(shù)聲明
1
2
3
function sum1(n1,n2){
return n1+n2;
};
2.函數(shù)表達(dá)式,又叫函數(shù)字面量
1
2
3
var sum2=function(n1,n2){
return n1+n2;
};
兩者的區(qū)別:解析器會(huì)先讀取函數(shù)聲明,并使其在執(zhí)行任何代碼之前可以訪問;而函數(shù)表達(dá)式則必須等到解析器執(zhí)行到它所在的代碼行才會(huì)真正被解釋執(zhí)行。
自執(zhí)行函數(shù)嚴(yán)格來說也叫函數(shù)表達(dá)式,它主要用于創(chuàng)建一個(gè)新的作用域,在此作用域內(nèi)聲明的變量,不會(huì)和其它作用域內(nèi)的變量沖突或混淆,大多是以匿名函數(shù)方式存在,且立即自動(dòng)執(zhí)行。
1
2
3
(function(n1,n2){
console.log (n1+n2)
})(1,3);//4
另外幾種自執(zhí)行函數(shù):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//可用來傳參
(function(x,y){
console.log(x+y);
})(2,3);
//帶返回值
var sum=(function(x,y){
return x+y;
})(2,3);
console.log(sum);
~function(){
var name='~'
console.log(name);
}();
!function(){
var name='!'
console.log(name);
}();
;(function(){
var name=';'
console.log(name);
})();
-function(){
var name='-'
console.log(name);
}();
//逗號(hào)運(yùn)算符
1,function(){
var name=',';
console.log(name);
}();
//異或
1^function(){
var name='^';
console.log(name);
}();
//比較運(yùn)算符
1>function(){
var name='>';
console.log(name);
}();
~+-!(function(){
var name='~+-!';
console.log(name);
})();
~!(function(){
var name='~!';
console.log(name);
})();
(function(){
var name='call';
console.log(name);
}).call();
(function(){
var name='apply';
console.log(name);
}).apply();
3.函數(shù)構(gòu)造法,參數(shù)必須加引號(hào)
1
2
var sum3=new Function('n1','n2','return n1+n2');
console.log(sum3(2,3));//5
從技術(shù)角度講,這是一個(gè)函數(shù)表達(dá)式。一般不推薦用這種方法定義函數(shù),因?yàn)檫@種語法會(huì)導(dǎo)致解析兩次代碼(第一次是解析常規(guī)ECMAScript代碼,第二次是解析傳入構(gòu)造函數(shù)中的字符串),從而影響性能。
1
2
3
4
5
6
var name='haoxl';
function fun(){
var name='lili';
return new Function('return name');//不能獲取局部變量
}
console.log(fun()());//haoxl
Function()構(gòu)造函數(shù)每次執(zhí)行時(shí)都會(huì)解析函數(shù)主體,并創(chuàng)建一個(gè)新的函數(shù)對(duì)象,所以當(dāng)在一個(gè)循環(huán)或頻繁執(zhí)行的函數(shù)中調(diào)用Function()構(gòu)造函數(shù)效率是非常低的。而函數(shù)字面量卻不是每次遇到都會(huì)重新編譯的,用Function()構(gòu)造函數(shù)創(chuàng)建一個(gè)函數(shù)時(shí)并不遵循典型的作用域,它一直把它當(dāng)作是頂級(jí)函數(shù)來執(zhí)行。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JavaScript中的函數(shù)
js中this的指向-筆記
javascript_10-函數(shù)
Javascript中函數(shù)調(diào)用和this的關(guān)系
05.JS函數(shù)
前端面試送命題-JS三座大山
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服