首页 > 代码库 > js中this的指向

js中this的指向

1、如果this不在function里面,都是window
2、在function里面  this永远指向调用者
        a、普通调用  this就是window

    //普通调用
            var a = function(){
                console.log(this);
            }
            a(); // == window.a();


         b、对象调用  this就是调用该方法的对象

    //对象调用
            var dog = {
                name: ‘多多‘,
                showName: function(){
                    console.log(this.name);
                }
            };
            dog.showName();
           
         c、事件驱动和事件绑定
                1、事件驱动  this就是添加事件的那个对象
                 2、事件绑定  
                         ie: window
                         非ie:绑定事件的对象(btn)
         d、类里面的this  使用new时创建的一个新对象
                类里面(function)一般不会出现变量
         e、call/apply (不传参数默认为window)
                  改变function内部的this指向                     

                fn && fn.call(this); //obj

js中this的指向