this的使用

94 阅读1分钟

(1)this的指向(执行上下文) 默认情况

方法指向调用对象;函数指向window(window也可以看作为一个对象)

    var name = "合唱";
    var word = "我曾经跨过山和大海";
    function sing() {
        console.log(`我是${this.name}`);
        console.log(`${this.word}`)
    }
    
    let singer1 = {
        name: "周杰伦",
        word: "一起长大的约定",
        sayName: sing
    }
    
    let singer2 = {
        name: "薛之谦",
        word: "你还要我怎样",
        sayName: sing
    }
    
    sing();
    singer1.sayName();
    singer2.sayName();

(2)apply和call的使用 函数对象绑定调用对象和参数

function introduce(name,works){
    console.log('我是' + name);
    console.log('我的代表作是' + works);
}

let singer1 = {
}

let singer2 = {    
}

introduce.call(singer1,"薛之谦","《演员》");
introduce.apply(singer2,["周杰伦","《晴天》"])

(3)arguments隐藏实参

function say(){
	console.log('我是' + arguments[0]);
	console.log('我的代表作是' + arguments[1]);
}
    
say("周杰伦","《听妈妈的话》")