JavaScript函數(shù)定義的常見注意事項(xiàng)小結(jié)
本文就javascript函數(shù)定義的常見問題進(jìn)行了總結(jié)。包含了初學(xué)者常犯的錯(cuò)誤。分享給大家供大家參考。具體總結(jié)如下:
1. 函數(shù)聲明的同時(shí)JS引擎還定義了一個(gè)與函數(shù)名同名的變量,我們?cè)谡{(diào)用這個(gè)函數(shù)的時(shí)候?qū)嶋H上是在使用這個(gè)變量,且它可以在函數(shù)聲明之前調(diào)用,例如
foo(); //這里實(shí)際上是使用了一函數(shù)變量
function foo() {
alert('hello');
}
2. 函數(shù)表達(dá)式,此時(shí)將匿名函數(shù)賦值給了一變量,此變量需在定義后使用,例如
foo(); //報(bào)錯(cuò),未定義
var foo = function() {
alert('hello');
}
3. 函數(shù)表達(dá)式(with函數(shù)名),這種用法最好避免,此時(shí)非IE瀏覽器中該函數(shù)名只在內(nèi)部可用,例如
bar(5); //報(bào)錯(cuò),未定義
var bar = function foo(n) {
if (n == 1)
return 1;
else
return n * foo(n - 1);
}
foo(5); //非IE報(bào)錯(cuò),未定義
bar(5); //正確
4. 用Function構(gòu)造函數(shù)定義,這種方式效率低,每次執(zhí)行函數(shù)的時(shí)候,其函數(shù)體都會(huì)被解析一次。此外這樣聲明的函數(shù)是不會(huì)繼承當(dāng)前聲明位置的作用域,它默認(rèn)只會(huì)擁有全局作用域,例如
function foo() {
var bar = 'hello';
return Function('alert(bar)'); //報(bào)錯(cuò),全局變量bar未定義
}
foo()();
相信本文所述對(duì)大家javascript WEB程序設(shè)計(jì)的學(xué)習(xí)有一定的借鑒價(jià)值。
相關(guān)文章
JS字符串補(bǔ)全方法padStart()和padEnd()
這篇文章主要介紹了JS字符串補(bǔ)全方法padStart()和padEnd(),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
JavaScript使用structuredClone實(shí)現(xiàn)深拷貝
在JavaScript中,實(shí)現(xiàn)深拷貝的方式有很多種,每種方式都有其優(yōu)點(diǎn)和缺點(diǎn),今天介紹一種原生JavaScript提供的structuredClone實(shí)現(xiàn)深拷貝,文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03
深入淺析JavaScript中的arguments對(duì)象(強(qiáng)力推薦)
這篇文章主要介紹了JavaScript中的arguments對(duì)象(強(qiáng)力推薦)的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
js實(shí)現(xiàn)移動(dòng)端簡(jiǎn)易滑動(dòng)表格
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)移動(dòng)端簡(jiǎn)易滑動(dòng)表格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
JS基于ocanvas插件實(shí)現(xiàn)的簡(jiǎn)單畫板效果代碼(附demo源碼下載)
這篇文章主要介紹了JS基于ocanvas插件實(shí)現(xiàn)的簡(jiǎn)單畫板效果,結(jié)合實(shí)例形式分析了ocanvas插件實(shí)現(xiàn)畫板的相關(guān)技巧,并附代碼demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04
bootstrap 路徑導(dǎo)航 分頁(yè) 進(jìn)度條的實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了bootstrap 路徑導(dǎo)航 分頁(yè) 進(jìn)度條的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
跟我學(xué)習(xí)javascript的嚴(yán)格模式
跟我學(xué)習(xí)javascript的嚴(yán)格模式,對(duì)javascript嚴(yán)格模式進(jìn)行概述,進(jìn)入嚴(yán)格模式的方法,以及如何調(diào)用和相關(guān)語法,感興趣的小伙伴們可以參考一下2015-11-11

