亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript下function聲明一些小結(jié)

 更新時間:2007年12月28日 21:29:46   作者:  
function聲明一些東西,我們都知道function和var一樣是預(yù)處理的在js里面,但是到底什么是函數(shù)聲明呢,我們來看幾個例子
function test(){
return 123;
}


顯然這是一個函數(shù)聲明,那下面的呢
var b=function(){return 123};


這個大家就懷疑了,好似不是聲明,因?yàn)楹瘮?shù)沒有名字,只是一個匿名函數(shù),好,再看
var b=function test(){return 123};


這個到底是不是函數(shù)聲明呢,好象是,那我回答你"不是"
alert(test);
var b=function test(){return 123};


可以在非ie上面任何一個js實(shí)現(xiàn)去測試,會報(bào)告test未定義錯誤,那如果這樣呢
var b=function test(){return 123};
alert(b);
alert(test);


會顯示出function test(){...}這樣的函數(shù)toString結(jié)果,可以第二個alert還是異常,為什么呢,也就是說這里function test(){return 123}不是聲明,而是一個函數(shù)對象,把引用放到了b里面而已,所以不會象聲明一樣默認(rèn)把函數(shù)對象綁定到test名字上,那為什么我不叫用ie測試呢,因?yàn)?
alert(test);
var b=function test(){return 123};


ie會把函數(shù)顯示出來,ie比較笨,不會區(qū)分單獨(dú)的function聲明和=右面的函數(shù)對象區(qū)別,另外ie甚至還支持function String.prototype.test(){...}這樣的聲明,可見ie的js bug還真不少了,難怪wilson不支持es4,非得搞一個es3.1出來呢,其實(shí)是自己的bug修正版

相關(guān)文章

最新評論