JavaScript中函数调用分别都有哪些方式(对应的使用场景是什么?)

JavaScript中函数调用分别都有哪些方式?对应的使用场景是什么?函数内部的this如何区分?这个this是如何确定的?
函数是JavaScript的核心内容,它是函数也是对象,几乎所有地方都会用到函数,函数调用一共有四种方式,关于函数this的内容你可以参考:JavaScript中this的使用,下面是关于函数调用的四种方式的使用举例和应用场景说明:
函数调用方式一:方法调用和函数调用模式

function fn(){ console.log("fn"); } fn(); // 函数调用模式,其实也是对象方法调用,因为该fn函数变量是作为window的属性 var object = {}; console.log(object.toString()); // 对象方法调用

【JavaScript中函数调用分别都有哪些方式(对应的使用场景是什么?)】函数调用方式二:构造函数调用
function User(username){ this.username = username; } var user = new User("Time"); // 构造函数调用,用于创建对象实例

函数调用方式三:函数直接调用
(function(value){ console.log("fn: " + value); // 输出:fn: value })("value"); // 函数直接调用,下面为函数直接调用的原形 var fn = function(value){ console.log("fn: " + value); } fn("value");

函数调用方式四:call和apply借用调用
关于call函数和apply函数的使用可以参考:call函数和apply函数的区别和使用,实例如下:
var object = {name : "Norlan"}; var name = "Christ" function fn(){ console.log(this.name); } fn(); // 输出: Christ // 使用call()函数借用调用fn函数 fn.call(object); // 输出: Norlan

    推荐阅读