zoukankan      html  css  js  c++  java
  • javascript中的this

    this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。 函数在不同的执行环境中this的值也跟着不同。 分一下四种

    方法调用模式。

    当函数作为对象的方法调用时,this指向该对象

        var num1=0;
        var obj={};
        obj.num1=1;
        obj.func=function(){
            return this.num1;
        }   
        alert(obj.func());//1
    

      

    普通的函数调用模式

    当函数直接调用时,this指向全局对象window。

        var num1=0;
        var func=function(){
            return this.num1;
        }
        alert(func())//0
    

      

    当函数内部的函数用普通调用方式调用时,this仍指向全局对象window。

        var num1=0
        var obj={};
        obj.num1=1;
        obj.func1=function(){
            var  num1=2;
            var that=this;
            var func2=function(){
                alert(this.num1);//0
                alert(that.num1);//1
                alert(num1);//2
            }
            func2();
        }
        obj.func1();
    

      

    构造器调用模式,即使用new关键词

    当使用new方式调用函数时,this指向新创建的对象。

        function Person(name){
            this.name=name;
        }
        var person=new Person("向晚");
        alert(person.name)//向晚
    

      

    apply(),call()调用模式

    apply()接收两个参数,第一个是将被绑定到this的值,第二个是参数数组

        var num1=0;
        var func1=function(){
             alert(this.num1);
        }
        var obj={num1:1};
        func1();//0
        func1.apply(obj);//1
    

      

  • 相关阅读:
    本学期的学习计划
    snmp 学习记录
    解锁树莓派root账号
    树莓派通过阿里云内网穿透,搭建下载机
    golang Ordered Map
    go 切片slice奇怪的地方
    学习scons总结
    go语言学习小结
    学习git版本管理工具
    轻松记账工程冲刺第二阶段10
  • 原文地址:https://www.cnblogs.com/wuya/p/3283144.html
Copyright © 2011-2022 走看看