美文网首页
this(只能在函数体内部使用)

this(只能在函数体内部使用)

作者: 小美人鱼最可爱 | 来源:发表于2018-10-12 21:53 被阅读0次

    原理:

    var obj={

        foo:function(){}

        };//函数适用于任何环境

        var foo=obj.foo;

        obj.foo()

        foo()

    分析:

    var obj={foo:5};

    var obj={ foo : function ( ) { } };

    总结:this 指的是函数运行时所在的环境

                变量的值也就取决于所处的环境

    用法:

    纯粹的函数调用:

    var x=1;

    function test(){

    cosole.log(this.x);

    }

    test(); //1

    作为对象方法的调用:(this指代上级对象)

    function test(){

    console.log(this.x)

    }

    var obj={};

    obj.x=1;

    obj.m=test;

    obj.m(); // 1

    作为构造函数调用(this指代新对象)

    var x=2;

    function test(){

    this.x=1;

    }

    var obj=new test();

    obj.x; // 2

    作为apply调用(apply():改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象,this指代第一个参数)

    var x=0;

    function test(){

    console.log(this.x);

    }

    var obj={};

    obj.x=1;

    obj.m=test;

    obj.m.apply() //0 (obj.m.apply(obj); //1)

    相关文章

      网友评论

          本文标题:this(只能在函数体内部使用)

          本文链接:https://www.haomeiwen.com/subject/msqnaftx.html