希岛爱理av免费一区二区,成人性教育av免费网址,欧美7777,在线免费日韩片

十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
南昌百恒網絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡微信小程序

百恒網絡

南昌百恒網絡

函數聲明與函數表達式

百恒網絡 2012-09-03 4681

到目前為止,我們一直沒有對函數聲明和函數表達式加以區別。而實際上,解析器在向執行環境中加載數據時,對函數聲明和函數表達式并非一視同仁。解析器會率先讀取函數聲明,并使其在執行任何代碼之前可用(可以訪問);至于函數表達式,則必須等到解析器執行到它所在的代碼行,才會真正被解釋執行。請看下面的例子:

alert( sum (10,10));

function sum (numl, num2){

return numl+num2;

}

以上代碼完全可以正常運行。因為在代碼開始執行之前,解析器就已經讀取函數聲明并將其添加到執行環境中了。如果像下面例子所示的,把上面的函數聲明政為變量初始化方式(即使用函數表達式),就會在執行期間導致錯誤:

alert( sum (10,10));

var sum = function{num1,num2){

return numl+num2;

};

以上代碼之所以會在運行期間產生錯誤,原因在于函數位于一個初始化語句中,而不是一個函數聲明。換句話說,在執行到函數所在的語句之前,變量sum中不會保存有對函數的引用;而且,由于第一行代碼就會導致“unexpected identifier”(意外標識符)錯誤,實際上也不會執行到下一行。

除了什么時候可以通過變量訪問函數這一點區別之外,函數聲明與函數表達式的語法其實是等價的。

南昌網站建設公司技術員提示:也可以同時使用函數聲明和函數表達式,例如:var sum = function sum(){}.不過,這種語法在safari中會導致錯誤.

希望對廣大站長或網站建設公司或從事企業網站建設的團隊有所幫助,如對此不太理解的,可以與南昌網絡公司百恒網絡技術部聯系。我們很高與廣大站長和網站建設公司技術人員分享我們的技術和經驗。


400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡小程序

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×
主站蜘蛛池模板: 喀喇沁旗| 分宜县| 苏州市| 德庆县| 呼和浩特市| 江口县| 阳朔县| 江山市| 镇巴县| 布尔津县| 易门县| 利辛县| 陆丰市| 长乐市| 武安市| 柞水县| 奉新县| 阳城县| 康乐县| 甘孜县| 苗栗市| 汕尾市| 那曲县| 突泉县| 淮北市| 宾阳县| 孝昌县| 淮阳县| 东至县| 通辽市| 库车县| 金塔县| 南城县| 云龙县| 龙川县| 民和| 孟津县| 嵩明县| 会同县| 富蕴县| 贵阳市|