• javascript的一些基础


    当复制的两个变量的地址不同时他们是不相等的如下代码所示

    function getFunction(value){
      return function(value){
            return value;
        }  
    }
    
    var a=getFunction(),
          b=getFunction(),
          c=getFunction();
    
    console.log(a==b)  //false
    

    当定义一个独立函数时,this关键字绑定于全局名称空间。作为一个最直接的结果,挡在一个方法内创建一个内部函数时,内部函数的this关键字将绑定于全局名称空间,而不是绑定于该方法,为了解决这一问题可以将包裹的方法this关键字简单地赋值给一个名为that的中间变量。代码如下

    obj = {};
    obj.method = function(){
      var that = this;
      this.counter = 0;
      var count = function(){
           that.counter += 1;
           console.log(that.counter);  
        }
         count();    //调用count函数    1
         count();    //调用count函数    2
         console.log(this.counter);     //因此这里就是2了
    }
          obj.methos();      //1 2 2
    

    在javascript要使用私有方法或属性就要使用闭包了

    function timemachine(){
        //私有成员
        var destination = "a,b";
        //公有成员
        this.getDestination = function(){
            return destination;
        }
    }
    var delorean = new timemachine();
    console.log(delorean.getDestination());  //a,b
    console.log(deloreon.destination);    //undifine
    

      

      

  • 相关阅读:
    SharePoint REST API
    线程同步
    win32
    win32
    win32
    win32
    win32
    win32
    win32
    解决CentOS被wbew挖矿程序入侵的方法
  • 原文地址:https://www.cnblogs.com/lixiaoxing/p/5102891.html
Copyright © 2020-2023  润新知