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

原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/272190.html

(0)
上一篇 2022年7月9日
下一篇 2022年7月9日

相关推荐

发表回复

登录后才能评论