聊聊 Client 的 this
Javascript 的 this 預設會指向 window
console.log(this) // window
當使用嚴格模式時是指向 undefined
'use strict'
console.log(this)
this 本身代表意義是呼叫 function 的實例,簡單說就是誰呼叫這個 function 的
以下是大部分出現會影響 this 的案例
var a = {
name: 'John',
getName(){
console.log(this.name);
}
}
a.getName()
function People(name){
this.name = name;
}
People.prototype.getName = function (){
console.log(this.name)
}
var p = new People('John')
p.getName()
document.body.addEventListener('click', function(){
console.log(this)
})
var getName = function () {
console.log(this.name);
}
var a = {
name: 'John',
}
var b = {
name: 'Mary',
}
getName.call(a)
getName.call(b)