六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

深入?yún)^(qū)分JS函數(shù)

[摘要]這次給大家?guī)砩钊敕治鯦S函數(shù),函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別?使用JS函數(shù)的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 (*)函數(shù)聲明:function bar() {}函數(shù)表達(dá)式:var fuc = foo(){}1.函數(shù)bar將會在整個程序執(zhí)行前被 hoi...
這次給大家?guī)砩钊敕治鯦S函數(shù),函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別?使用JS函數(shù)的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。

函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 (*)

函數(shù)聲明:function bar() {}
函數(shù)表達(dá)式:var fuc = foo(){}
1.函數(shù)bar將會在整個程序執(zhí)行前被 hoist(提升),因此它在定bar函數(shù)的整個scope (作用域)中都是可用的。即使在函數(shù)定義之前調(diào)用它也沒問題。
2.對于函數(shù)聲明,函數(shù)的名稱是必須的,而對于函數(shù)表達(dá)式而言則是可選的,因此,就出現(xiàn)了匿名函數(shù)表達(dá)式和命名函數(shù)表達(dá)式。
3在這個函數(shù)里

var foo = function bar() {
bar(); // Works};
bar(); // ReferenceError命名函數(shù)bar賦值給了變量foo,所以在函數(shù)聲明外是不可見的,但在bar`函數(shù)內(nèi)部仍然可以調(diào)用。這是因?yàn)镴avascript對命名函數(shù)處理的機(jī)制,函數(shù)的名稱永遠(yuǎn)在函數(shù)內(nèi)部的作用域中有效。

什么是變量的聲明前置?什么是函數(shù)的聲明前置 (**)

所謂的變量聲明前置就是在一個作用域塊中,所有的變量都被放在塊的開始出聲明。下面通過三段代碼舉例:
代碼1:

var a = 1;
function main() {
console.log(a);//1
}
main();//輸出1`

代碼2:

1 var a = 1;
2 function main() {
3  console.log(a);
4 var a = 2;
5 }
6 main()//輸出undefined

代碼3:為什么代碼2會輸出undefined

1 var a = 1;
2 function main() {
3 var a;
4  console.log(a);
5 a = 2;
6 }

函數(shù)的聲明前置就是把整個函數(shù)提升到當(dāng)前作用域的最前面(位于前置的變量聲明后面)。

var num = 1;
console.log(doubleNum(num));//2
function doubleNum(num){ return num2;}

等價于

//函數(shù)的聲明前置
var num;
function doubleNum(num){ return num2;}
num = 1;
console.log(doubleNum(num));//2

arguments 是什么 (*)

arguments 是一個類數(shù)組對象。代表傳給一個function的參數(shù)列表。可以在函數(shù)內(nèi)部通過使用 arguments對象來獲取函數(shù)的所有參數(shù)。這個對象為傳遞給函數(shù)的每個參數(shù)建立一個條目,條目的索引號從 0 開始。

函數(shù)的重載怎樣實(shí)現(xiàn) (**)

可以通過arguments的length和參數(shù)的類型來實(shí)現(xiàn)。例:

function sumOfSquares(a, b, c){
if(arguments.length<3){
c = 0;
}
return aa+bb+c*c
}
sumOfSquares(2,3,4);   // 29
sumOfSquares(1,3);   // 10

立即執(zhí)行函數(shù)表達(dá)式是什么?有什么作用 (***)

立即執(zhí)行函數(shù)通常有下面兩種寫法:
(function(){...})();
(function(){ ...}());//推薦使用
在Javascript中,一對圓括號“()”是一種運(yùn)算符,跟在函數(shù)名之后,表示調(diào)用該函數(shù)。
參考-JavaScript中的立即執(zhí)行函數(shù)

什么是函數(shù)的作用域鏈 (****)

作用域就是變量和函數(shù)的可訪問范圍,控制著變量和函數(shù)的可見性與生命周期,在JavaScript中變量的作用域有全局作用域和局部作用域。
作用域鏈?zhǔn)钱?dāng)代碼在一個環(huán)境中執(zhí)行時,會創(chuàng)建變量對象的一個作用域鏈(scope chain,不簡稱sc)來保證對執(zhí)行環(huán)境有權(quán)訪問的變量和函數(shù)的有序訪問。作用域第一個對象始終是當(dāng)前執(zhí)行代碼所在環(huán)境的變量對象(VO)

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注php中文網(wǎng)其它相關(guān)文章!

相關(guān)閱讀:

怎樣用CSS3制作登錄框

JavaScript數(shù)組-字符串-數(shù)學(xué)函數(shù)

JS的Dom與事件小結(jié)

以上就是深入分析JS函數(shù)的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。




主站蜘蛛池模板: 日本卡一卡2卡3卡4精品卡网站 | 天堂热 | 日韩高清在线观看 | 天天看天天摸色天天综合网 | 青春草国产视频 | 午夜高清视频 | 日本不卡免费高清一级视频 | 色噜噜狠狠狠狠色综合久不 | 天天色天 | 午夜影视免费完整高清在线观看网站 | 五月开心激情网 | 日韩18在线观看地址 | 伊人福利视频 | 日韩一级免费毛片 | 日本高清在线不卡 | 欧美一区二区三区久久综 | 日本三级视频在线播放 | 欧美综合精品 | 人人揉揉香蕉 | 日韩欧美国产亚洲 | 亚洲福利网址 | 亚洲成人一级 | 欧美一区2区三区4区公司 | 日本视频免费看 | 日本韩国视频在线观看 | 色狠狠狠色噜噜噜综合网 | 亚洲免费黄色网址 | 日韩中文精品亚洲第三区 | 午夜有码| 天天干夜夜骑 | 五月花激情网 | 亚洲一区二区三区免费观看 | 色综合综合网 | 性视频网址| 天天射天天搞 | 亚洲国产成人久久笫一页 | 日本国产亚洲 | 亚洲产国偷v产偷v自拍色戒 | 色综合久久天天综合观看 | 亚洲一区在线免费 | 青青国产成人久久激情91麻豆 |