(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("周杰伦","《听妈妈的话》")