6.2 函式呼叫的分類
阿新 • • 發佈:2022-05-28
表6.1 函式呼叫的分類
名稱 | 說明 |
---|---|
方法呼叫 | 通過接收方物件對函式進行呼叫(包括apply 與call 呼叫) |
建構函式呼叫 | 通過new 表示式對函式進行呼叫 |
函式呼叫 | 以上兩種方式之外的函式呼叫 |
將以方法呼叫的方式使用的函式稱為方法,同理,將以建構函式呼叫方式使用的函式稱為建構函式。
函式宣告語句的後置
通過函式宣告語句宣告的函式,可以在進行宣告的程式碼行之前就對其呼叫。雖然這個例子在函式的作
用域內進行,不過對於全域性作用域情況也是相同。
function hzh1() { hzh2(); // 在宣告函式fn之前對其進行呼叫 function hzh2() { console.log('黃子涵'); } } hzh1();
[Running] node "e:\HMV\JavaScript\JavaScript.js"
黃子涵
[Done] exited with code=0 in 99.724 seconds
通過函式宣告語句宣告的函式,可以在進行宣告的程式碼行之前就對其呼叫。在通過匿名函式表示式進行定義的情況下結果將會不同。
function hzh3() {
hzh4();
var hzh4 = function() {
console.log('黃子涵');
}
}
hzh3();
[Running] node "e:\HMV\JavaScript\JavaScript.js" e:\HMV\JavaScript\JavaScript.js:2 hzh4(); ^ TypeError: hzh4 is not a function at hzh3 (e:\HMV\JavaScript\JavaScript.js:2:5) at Object.<anonymous> (e:\HMV\JavaScript\JavaScript.js:7:1) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) at internal/main/run_main_module.js:17:47 [Done] exited with code=1 in 3.35 seconds