- 相關推薦
函數(shù)聲明與表達式
函數(shù)聲明與表達式的區(qū)別是什么?一起看看下面吧!
函數(shù)聲明的基本語法
function functionName(arg0, arg1, ..., argn) {
// 函數(shù)體 - HTML5學堂
}
函數(shù)聲明的重要特征:函數(shù)聲明提升
在執(zhí)行代碼之前,會先讀取函數(shù)聲明,這也就意味著,可以把函數(shù)聲明放在調用它的語句的后面。
函數(shù)表達式的常見語法形式
var functionName = function(arg0, arg1, ..., argn) {
// 函數(shù)體 - HTML5學堂
};
如何理解上面這段代碼呢?創(chuàng)建一個匿名函數(shù)(也叫拉達姆函數(shù)),并將整個函數(shù)賦值給變量functionName
在執(zhí)行這句代碼之前,是不能夠實現(xiàn)functionName()函數(shù)的調用的,函數(shù)表達式和其他表達式一樣,都需要在使用前賦值。
經典案例
此段代碼合法
var say;
if(conditions) {
say = function () { console.log('函數(shù)表達式-代碼合法'); }
} else {
say = function () { console.log('H5course'); }
}
此段代碼不合法
if(conditions) {
function say() { console.log('函數(shù)聲明-不合法代碼'); }
} else {
function say() { console.log('HTML5學堂'); }
}
拓展性知識
在使用函數(shù)聲明創(chuàng)建函數(shù)時,對于非IE瀏覽器,會為函數(shù)定義一個非標準的name屬性,可以通過name屬性訪問到給函數(shù)指定的名字。而采用函數(shù)表達式所定義的函數(shù),name屬性為空字符串。如下:
function h5course() {};
console.log(h5course.name);
var h5 = function(){};
console.log(h5.name);
此段代碼中,前者會打印h5course,但是后者只會輸出空字符串
【函數(shù)聲明與表達式】相關文章:
確定一次函數(shù)的表達式的數(shù)學教案10-07
函數(shù)的教案10-07
賠償聲明范文06-05
聲明精簡范文05-15
道歉聲明范文06-02
聲明公告范文11-10
離職聲明范文02-24
致歉聲明范文12-01
離職聲明范文03-21