JavaScript中函数调用分别都有哪些方式?对应的使用场景是什么?函数内部的this如何区分?这个this是如何确定的?
函数是JavaScript的核心内容,它是函数也是对象,几乎所有地方都会用到函数,函数调用一共有四种方式,关于函数this的内容你可以参考:JavaScript中this的使用,下面是关于函数调用的四种方式的使用举例和应用场景说明:
函数调用方式一:方法调用和函数调用模式
function fn(){
console.log("fn");
}
fn(); // 函数调用模式,其实也是对象方法调用,因为该fn函数变量是作为window的属性
var object = {};
console.log(object.toString()); // 对象方法调用
函数调用方式二:构造函数调用
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
评论前必须登录!
注册