this关键字的理解。

    学习 javaScript ,其中 this 关键字也是个很令人头疼的问题。

    this 是 javaScript 中的一个关键字,它在不同的场合,它的值也会发生变化。

    下面我对 this 关键字的几种用法进行详细讲解。

    第一种,在全局作用域内,使用 this ,它指向的对象是 window 对象。例如代码:

    function num(){
        return this

    }

    num() === window  //  运行结果是 true

    第二种,通过函数调用,当在全局作用内调用函数时,this 指向全局对象。例如代码:

    function num(){
        this.x = 1

        console.log(this.x)

    }

    num()   //运行的结果是1

    

    换一种写法,结果也是一样的。

    var x = 1;

    function num(){
        console.log(this.x);

    }

    num()    //运行的结果还是1

    第三种,方法的调用,在方法调用中,this 指向调用该方法的对象。例如代码:

    function num(){
        console.log(this.x)

    }

    var y = {}

    y.x = 1;

    y.z = num;

    y.z()   //   运行结果是1 ;

    第四种,构造函数调用,在构造函数中,this  指向的是 用new 关键字创建出来的新对象。例如代码:

    function num(){

        this.x = 1;

    }

    var y = new num();

    console.log(y.x)  //  运行结果是1 

    第五种,call 和 apply 方法,

    apply() 是函数对象的一个方法,它主要是用来改变函数的调用对象,用另一个对象来替换当前对象,所以 this 指向 apply()的第一个参数,例如代码:

    function person(a,b){
        this.name = a;

        this.age = b;

        console.log(this.name+' '+this.age);

    }

    function personNew(a,b){

       person.apply(this,arguments);

    }

    personNew('Jack',22)  //运行结果Jack  22

    call() 也是函数对象的一个方法,它的 this 指向 和apply()大体相同,在这里就不具体说明了。。。

    javaScript 中 this 关键字的用法大概就是以上几种,刚开始接触 this 都有一种晕的状态,包括我也是,要多在网上找代码练习,要对代码进行剖析,以上我的代码例子也是在网站上查阅而来的,总之多看多练,多学习别人的精华弥补自己的不足,这样才能进步的更快。。。

    

    


    

    

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值