如何理解JS中的this关键字
- this 一般是表示当前所在的对象,但是事情并没有像它应该的那样发生。JS中的this关键字由函数的调用者决定,谁调用就this指向那个哪个,如果找不到调用者,this将指向windows对象。
- 调用test对象中的func(),因此func()中 this 指向的是test对象,所以打印的prop是test中的prop,即42
var test = {
prop: 42,
func: function() {
return this.prop;
},
};
console.log(test.func());//42
- 直接调用getFUllname函数,第二个例子将打印出‘David Jones’,此时this找不到调用这,所以默认就为window对象,打印的fullname是全局的。