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

這個大家就懷疑了,好似不是聲明,因為函數沒有名字,只是一個匿名函數,好,再看 var b=function test(){return 12 " /> 麻豆免费版在线观看,三级中文字幕在线观看,欧美伊人影院

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

javascript下function聲明一些小結

function test(){
return 123;
}


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


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


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


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


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


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

JavaScript技術javascript下function聲明一些小結,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 什邡市| 鄂托克旗| 乌审旗| 平远县| 迁安市| 涡阳县| 章丘市| 搜索| 吉林省| 石阡县| 新野县| 玛纳斯县| 乌恰县| 宜春市| 金平| 赤峰市| 登封市| 宣汉县| 繁峙县| 阜康市| 临城县| 闽清县| 肃宁县| 唐海县| 锡林郭勒盟| 桑日县| 余庆县| 无锡市| 广宗县| 廉江市| 正蓝旗| 沂水县| 榆林市| 高安市| 岐山县| 邮箱| 饶阳县| 介休市| 乌拉特后旗| 新乡县| 东明县|