javascript下function聲明一些小結(jié)
更新時(shí)間:2007年12月28日 21:29:46 作者:
function聲明一些東西,我們都知道function和var一樣是預(yù)處理的在js里面,但是到底什么是函數(shù)聲明呢,我們來看幾個(gè)例子
function test(){
return 123;
}
顯然這是一個(gè)函數(shù)聲明,那下面的呢
var b=function(){return 123};
這個(gè)大家就懷疑了,好似不是聲明,因?yàn)楹瘮?shù)沒有名字,只是一個(gè)匿名函數(shù),好,再看
var b=function test(){return 123};
這個(gè)到底是不是函數(shù)聲明呢,好象是,那我回答你"不是"
alert(test);
var b=function test(){return 123};
可以在非ie上面任何一個(gè)js實(shí)現(xiàn)去測(cè)試,會(huì)報(bào)告test未定義錯(cuò)誤,那如果這樣呢
var b=function test(){return 123};
alert(b);
alert(test);
會(huì)顯示出function test(){...}這樣的函數(shù)toString結(jié)果,可以第二個(gè)alert還是異常,為什么呢,也就是說這里function test(){return 123}不是聲明,而是一個(gè)函數(shù)對(duì)象,把引用放到了b里面而已,所以不會(huì)象聲明一樣默認(rèn)把函數(shù)對(duì)象綁定到test名字上,那為什么我不叫用ie測(cè)試呢,因?yàn)?
alert(test);
var b=function test(){return 123};
ie會(huì)把函數(shù)顯示出來,ie比較笨,不會(huì)區(qū)分單獨(dú)的function聲明和=右面的函數(shù)對(duì)象區(qū)別,另外ie甚至還支持function String.prototype.test(){...}這樣的聲明,可見ie的js bug還真不少了,難怪wilson不支持es4,非得搞一個(gè)es3.1出來呢,其實(shí)是自己的bug修正版
return 123;
}
顯然這是一個(gè)函數(shù)聲明,那下面的呢
var b=function(){return 123};
這個(gè)大家就懷疑了,好似不是聲明,因?yàn)楹瘮?shù)沒有名字,只是一個(gè)匿名函數(shù),好,再看
var b=function test(){return 123};
這個(gè)到底是不是函數(shù)聲明呢,好象是,那我回答你"不是"
alert(test);
var b=function test(){return 123};
可以在非ie上面任何一個(gè)js實(shí)現(xiàn)去測(cè)試,會(huì)報(bào)告test未定義錯(cuò)誤,那如果這樣呢
var b=function test(){return 123};
alert(b);
alert(test);
會(huì)顯示出function test(){...}這樣的函數(shù)toString結(jié)果,可以第二個(gè)alert還是異常,為什么呢,也就是說這里function test(){return 123}不是聲明,而是一個(gè)函數(shù)對(duì)象,把引用放到了b里面而已,所以不會(huì)象聲明一樣默認(rèn)把函數(shù)對(duì)象綁定到test名字上,那為什么我不叫用ie測(cè)試呢,因?yàn)?
alert(test);
var b=function test(){return 123};
ie會(huì)把函數(shù)顯示出來,ie比較笨,不會(huì)區(qū)分單獨(dú)的function聲明和=右面的函數(shù)對(duì)象區(qū)別,另外ie甚至還支持function String.prototype.test(){...}這樣的聲明,可見ie的js bug還真不少了,難怪wilson不支持es4,非得搞一個(gè)es3.1出來呢,其實(shí)是自己的bug修正版
相關(guān)文章
JS 刪除字符串最后一個(gè)字符的實(shí)現(xiàn)代碼
本篇文章主要是對(duì)JS刪除字符串最后一個(gè)字符的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02bootstrap-wysiwyg結(jié)合ajax實(shí)現(xiàn)圖片上傳實(shí)時(shí)刷新功能
這篇文章主要為大家詳細(xì)介紹了bootstrap-wysiwyg結(jié)合ajax實(shí)現(xiàn)圖片上傳實(shí)時(shí)刷新功能,感興趣的小伙伴們可以參考一下2016-05-05javascript使用閉包模擬對(duì)象的私有屬性和方法
本文給大家簡(jiǎn)單介紹了在一個(gè)項(xiàng)目中涉及到的javascript使用閉包模擬對(duì)象的私有屬性和方法,這里記錄下來,分享給大家。2016-10-10網(wǎng)頁(yè)和瀏覽器兼容性問題匯總(draft1)
由于IE擴(kuò)展了許多私有的DOM、CSS等導(dǎo)致許多網(wǎng)頁(yè)的開發(fā)者都根據(jù)IE開發(fā),才導(dǎo)致許多網(wǎng)頁(yè)的不規(guī)范,從而導(dǎo)致現(xiàn)在的瀏覽器瀏覽相同網(wǎng)頁(yè)效果不盡相同。2009-06-06BootStrap框架中的data-[ ]自定義屬性理解(推薦)
這篇文章主要介紹了BootStrap框架中的data-[ ]自定義屬性理解(推薦),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02