表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
原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/272190.html