Javascript中兩種方式定義函式的區別
// 方式1
function func1(x,y){
// your code
}
// 方式2
var func2 = function(x,y){
// your code
}
方式1 是典型的函式宣告(Function declarations)。
方式2 是函式表示式(Function expressions),將一個匿名函式賦值給一個變數。或者說方式2中建立了一個具有形參為x,y的匿名函式,然後把該匿名函式賦值給變數func2。
其主要區別在於:
1, 函式宣告需顯示的指定函式名,這裡是func1;函式表示式則使用匿名函式
2, 方式1在程式碼執行之前(解釋期)被載入到作用域中,方式2則需在程式碼執行時(執行期)載入
一個簡單示例就明白了它們在使用上的區別
alert(func1); // --> func1原始碼
alert(func2); // --> undefined
// 方式1
function func1(x,y){
// your code
}
// 方式2
var func2 = function(x,y){
// your code
}
可以看到,第一次彈出的是func1的原始碼,第二次卻是undefined。即採用方式1(函式宣告)定義函式,可以在該函式程式碼之上使用它,採用方式2(函式表示式)定義函式則不能在其定義前使用,只能在其定義後使用。
相關文章
- javascript兩種宣告函式方式的區別JavaScript函式
- 定義函式的兩種形式及區別函式
- JavaScript 函式的兩種宣告方式JavaScript函式
- JavaScript中七種函式呼叫方式及對應 this 的含義JavaScript函式
- tp5 db函式的兩種區別函式
- TypeScript 中函式的理解?與 JavaScript 函式的區別?TypeScript函式JavaScript
- React元件方法的兩種定義方式React元件
- javascript函式宣告兩種主要方式簡單介紹JavaScript函式
- hibernate中建立session的兩種方式方式,區別在哪裡?Session
- javascript中字串的兩種定義形式JavaScript字串
- JavaScript建立閉包的兩種方式的優劣與區別分析JavaScript
- 【C++】函式返回函式指標的多種定義方式C++函式指標
- 動態代理的兩種方式以及區別
- js表示式方式和函式語句方式宣告函式的區別JS函式
- 【C++】函式返回資料指標的多種定義方式C++函式指標
- JavaScript函式宣告和函式表示式區別JavaScript函式
- JavaScript建構函式和普通函式的區別JavaScript函式
- JavaScript方法和函式區別JavaScript函式
- 通過JavaScript定義函式的注意點JavaScript函式
- IE8 兩種全域性函式定義會有所不同函式
- TypeScript 定義函式的幾種寫法TypeScript函式
- JS中建立函式的幾種方式JS函式
- JavaScript:鉤子函式與回撥函式的區別JavaScript函式
- 函式引數 引數定義函式型別函式型別
- asp.net 中兩種不同方式檔案流下載的區別?ASP.NET
- Shell中函式的定義和使用函式
- python中定義引數的四種方式Python
- ton函式函式hash的兩種形式函式
- XSD中自定義型別的三種方式型別
- 請教兩種Singleton Pattern 實現方式的區別!
- JavaScript 函式宣告方式JavaScript函式
- javascript獲取函式定義的引數個數JavaScript函式
- vue 在methods中定義的函式 not definedVue函式
- 建構函式定義的隱式型別轉換函式型別
- Oracle 儲存過程 定義 和 優點 與 函式 區別Oracle儲存過程函式
- 模型的列表定義中,使用函式時如何定義引數?模型函式
- C#中解構函式,Close函式,Dispose函式的區別C#函式
- ts類中屬性定義的另一種方式