//构造函数中的this
function Person(name,sex){
this.name = name;
this.sex = sex;
}
let person = new Person("小米",M);
console.log(person.name); //小米
console.log(person.sex); //M
原型链this指向,从自身开始找,自身找不到就不断向上找,找不到就undefined
改变this指向
//通过回调函数修改对象
function fun (name){
this.name = name;
console.log(this)
}
//对象
var obj = {
name: '大牛',
b: function () {
console.log(this.name)
}
}
fun.call(obj, 'xx')
//把fun函数的this指向改变到obj函数,改变的name是obj中的name
this输出obj对象,并且name改变为'xx'
function fun (name) {
this.name = name
console.log(this)
}
var obj = {
name: 'dpn',
b: function () {
console.log(this.name)
}
}
fun.apply(obj, ['xx'])
//把fun函数的this指向改变到obj函数,改变的name是obj中的name
this输出obj对象,并且name改变为'xx'
function fun (name) {
this.name = name
console.log(this)
}
var obj = {
name: 'dpn',
b: function () {
console.log(this.name)
}
}
var fun1 = fun.bind(obj, 'xxx')
fun1()
//把fun函数的this指向改变到obj函数,改变的name是obj中的name
this输出obj对象,并且name改变为'xxx'