js中的this指向

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/awenshu/article/details/79981204

关于js中的this指向问题(ES3)

  • 1、普通函数中的this指向是window(在严格模式下不是window,是undefined)
   function foo(){
     'use strict' // 加上此代码为严格模式
     console.log(this)
   }
   foo();
  • 2、构造函数中的this指向实例对象
    //构造函数
    function Student(age){
        this.age = age;
        }
    //原型
    Student.prototype.showAge = function(){
        console.log(this.age)
        }
    var stu = new Student(12);
    stu.showAge();
  • 3、原型方法中的this指向和构造函数中的this指向相同,都是实例对象
	//构造函数
    function Student(age){
        this.age = age;
        }
    //原型
    Student.prototype.showAge = function(){
        console.log(this.age)
        }
    var stu = new Student(12);
    stu.showAge();
  • 4、事件函数中的this指向绑定事件的对象
   var btn = document.getElementById('btn');
   btn.onclick = function(){
     console.log(this)
   }
  • 5、定时函数中的this指的是window
   setTimeout(function(){
     console.log(this)
    },1000);
  • 6、对象方法中的this指向是对象本身
   var obj = {
     abc: '123',
     fn: function(){
       console.log(this)
        }
    }
   obj.fn();
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页