js中this关键字的使用方法

  1. 方法中的this,指向调用方法的对象
  2. 全局环境下指向全局对象
  3. 全局函数中的this,指向全局对象
  4. 内部函数中的this,指向全局对象
  5. 事件中的this,指向触发事件的DOM对象
  6. 构造函数中的this,指向new创建的对象
  7. 箭头函数中的this,指向定义函数上下文的this
  8. 使用闭包,var获取dom的索引 //1.直接输出this指向全局对象 // console.log(this); --------------------------------------------------------- //2.this放在方法中。this指向调用这个方法的对象 // let cat = { // name: summer, // sayName() { // console.log(我是summer); // } // } // cat.sayName(); ------------------------------------------------------------ //3.全局函数其实是window(全局对象)的方法 // function fun() { // console.log(this); // } // fun(); --------------------------------------------------------------- //new关键字做了什么:new会创建对象,将构造函数中的this指向创建出来的对象 //构造函数:用来创建对象 // function F() { // console.log(我是构造函数); // this.name = 小明 // } // let f = new F(); // console.log(f); -------------------------------------------------------------------- // const btn = document.querySelector(button); // btn.onclick = function () { // console.log(this); // } -------------------------------------------------------------------------- //箭头函数中没有this // let cat = { // name: summer, // sayName() { // console.log(this); // setTimeout(function () {//全局函数下指向window // console.log(this); // }, 1000) // } // } // cat.sayName(); let cat = { name: summer, sayName() { console.log(this); setTimeout(() => { console.log(this); }, 1000) } } cat.sayName();
经验分享 程序员 微信小程序 职场和发展