JavaScript函數(shù)定義的常見(jiàn)注意事項(xiàng)小結(jié)
本文就javascript函數(shù)定義的常見(jiàn)問(wèn)題進(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 實(shí)現(xiàn)ajax發(fā)送步驟過(guò)程詳解
這篇文章主要介紹了js 實(shí)現(xiàn)ajax發(fā)送過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07原生JS實(shí)現(xiàn)ajax與ajax的跨域請(qǐng)求實(shí)例
下面小編就為大家分享一篇原生JS實(shí)現(xiàn)ajax與ajax的跨域請(qǐng)求實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12js實(shí)現(xiàn)無(wú)限瀑布流實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于js實(shí)現(xiàn)無(wú)限瀑布流實(shí)例方法以及相關(guān)代碼,需要的朋友們學(xué)習(xí)下吧。2019-09-09JavaScript定時(shí)器實(shí)現(xiàn)的原理分析
JavaScript中的定時(shí)器大家基本在平時(shí)的開(kāi)發(fā)中都遇見(jiàn)過(guò)吧,但是又有多少人去深入的理解其中的原理呢?本文我們就來(lái)分析一下定時(shí)器的實(shí)現(xiàn)原理、定時(shí)器的妙用、定時(shí)器使用注意事項(xiàng),有興趣的朋友可以看下2016-12-12JS正則表達(dá)式驗(yàn)證端口范圍(0-65535)
這篇文章主要介紹了JS正則表達(dá)式驗(yàn)證端口范圍(0-65535),文中給大家提到了Js正則表達(dá)式驗(yàn)證IP+端口號(hào)的代碼,需要的朋友可以參考下2020-01-01js實(shí)現(xiàn)簡(jiǎn)單登錄功能的實(shí)例代碼
js驗(yàn)證用戶身份,登錄成功之后等待一定秒數(shù),跳轉(zhuǎn)到操作頁(yè)面。使用window函數(shù)。代碼如下2013-11-11JavaScript實(shí)現(xiàn)清空(重置)文件類型INPUT元素值的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)清空(重置)文件類型INPUT元素值的方法,結(jié)合實(shí)例形式分析了javascript清空input文本框的常用方法與實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-11-11javascript獲取四位數(shù)字或者字母的隨機(jī)數(shù)
這篇文章主要介紹了javascript獲取四位數(shù)字或者字母的隨機(jī)數(shù),需要的朋友可以參考下2015-01-01