JavaScript如何使用this

学习this的使用必须牢记以下两点

  1、this是一个只能在函数内部使用的关键字

  2、this指向调用函数的那个对象

下面我们来具体讨论一下this的具体使用方法

第一种:通过函数调用的方式------------->this指向的是全局(浏览器中就是window)

    var a = 1; 
    function Demo() {
        alert(this.a)
    }
    Demo();    //弹窗 1   相当于全局调用

 

第二种:作为对象方法来调用------------->this指向这个对象

1     var o ={};
2     o.a = 1;
3     o.demo = function () {
4         alert(this.a)
5     };
6 
7     o.demo()   //弹窗 1   o调用

 

第三种:作为构造函数来调用------------->即:通过new 产生一个新对象,this就指向这个对象

1     function Demo() {
2         this.a = 1
3     }
4     var o = new Demo()
5     alert(o.a)   //弹窗 1    o调用

 

第四种:apply()/call()------------->这两个是函数对象的一个方法,this指向他们的第一个参数如果不传参数this指向全局

 1     var a = 1;
 2     function Demo() {
 3         alert(this.a)
 4     }
 5 
 6     var o = {};
 7     o.a = 2;
 8     o.demo = Demo;
 9 
10     o.demo.apply(o)   //弹窗2
11     o.demo.apply()    //弹窗1

重要的东西再说一遍

  1、this是一个只能在函数内部使用的关键字

  2、this指向调用函数的那个对象

posted @ 2016-10-29 14:04  雨中伞  阅读(199)  评论(0编辑  收藏  举报