zoukankan      html  css  js  c++  java
  • 关于this指向

    this是js中一个难点,通常来讲,this就是指向当前的运行环境,js对象可以看成全局对象和局部对象,当函数直接在全局环境中运行,则this指向全局对象

    function foo()
    {
    	console.log(this);
    }
    	foo();//输出window
    

     第二种,当this在对象中的时候,this 指向的是该对象

      var obj ={
    	    	name  :"Jack", 
                value :"can play pubg",
    	        play  : function(){
    	        	console.log(this.name + this.value) 
    	        }	   
    	    
    	    };
    	    obj.play(); //输出Jack can play pubg
    

     第三种,当this在构造函数中的时候,this 将会指向新的实例,此时this 会通过new 关键字指向实例,详细的下回开专题讲

    function Foo(name,value){
    	       this.name = name;
    	       this.value = value;
    	       this.play = function(){
    	       	console.log(this.name + this.value);
    	       }
    	    }
    	    var foo = new Foo("peter","can do it");
    	    foo.play();//输出 Peter can do  it
    

     第四种,当this被apply 和 call 以及bind 函数使用时 会改变当前的运行环境 

                let a =5;
    	    let b =3;
    	    let sub =(a,b) => a - b;
    	    let add =(a,b) => a + b;
    	    console.log(sub.call(add,a,b)); // 改变add的运行环境 输出为2
    

     this关键字在写插件时尤其重要,一定要反复理解

  • 相关阅读:
    生成器,生成器表达式。
    device busy
    memcached
    ps f
    Eviews9.0---软件安装
    免费提取百度文库 doc 文件
    Matlab---length函数
    Matlab 路径函数
    matlab中disp函数的简单用法
    MATLAB---dir函数
  • 原文地址:https://www.cnblogs.com/maoxiaodun/p/9995648.html
Copyright © 2011-2022 走看看