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

這個大家就懷疑了,好似不是聲明,因為函數沒有名字,只是一個匿名函數,好,再看 var b=function test(){return 12 " /> 国产拍在线视频,亚洲最大成人综合,欧美疯狂做受xxxx高潮

色尼玛亚洲综合影院,亚洲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聲明一些小結,轉載需保留來源!

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

主站蜘蛛池模板: 禹城市| 呼伦贝尔市| 老河口市| 东台市| 顺平县| 嵊州市| 读书| 台前县| 禄丰县| 云阳县| 普兰县| 兴义市| 民权县| 车致| 云龙县| 开原市| 开远市| 磐石市| 夏津县| 绿春县| 响水县| 溧阳市| 中方县| 开阳县| 会泽县| 聂荣县| 峨眉山市| 江永县| 封开县| 景东| 云南省| 营山县| 霍邱县| 冀州市| 会同县| 丰顺县| 丘北县| 平利县| 无锡市| 景德镇市| 新蔡县|