黄子涵

6.2 函数调用的分类

表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
posted @   黄子涵  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示