js中的this用法

172 阅读1分钟

一 如果是键头函数, 在执行时this跟父级作用域一致 二 如果是普通函数,作为事件的回调函数被执行this 会指向事件发生的元素; 如果有点,那么就指向点前面的那个值;

const obj = { name: 'objectName', saying() { console.log(this.name); }, reading: () => { console.log(this.name); } } obj.saying(); // objctName obj.reading(); // undefined

作为方法来调用 var name="windowName"; var person={ name:"personName", showName:function(){ console.log(this.name); } }

person.showName();  //输出  persoName
//这里是person对象调用showName方法,很显然this关键字是指向person对象的,所以会输出name

var showNameA=person.showName;
showNameA();    //输出  windowName
//这里将person.showName方法赋给showNameA变量,此时showNameA变量相当于window对象的一个属性,因此showNameA()执行的时候相当于window.showNameA(),即window对象调用showNameA这个方法,所以this关键字指向window