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