• 闭包


     var name = "The Window";
      var object = {
        name : "My Object",
        getNameFunc : function(){
          return function(){
            return this.name;
          };
        }
      };
      alert(object.getNameFunc()());
    结果为 The Window
     var name = "The Window";
      var object = {
        name : "My Object",
        getNameFunc : function(){
          var that = this;
          return function(){
            return that.name;
          };
        }
      };
      alert(object.getNameFunc()());
    结果为 My Object
    this 指针指定的函数不一样

     我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下,这是办不到的,只有通过变通方法才能实现。可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中,这是本人自己的理解

    var data=[];
    
    for (i=0;i<3;i++){
      data[i]=function(){
           console.log(i);
         }
       }
    
    data[0]();
    data[1]();
    结果为3
    var data = [];
    
    for (var i = 0; i < 3; i++) {
      data[i] = (function (i) {
            return function(){
                console.log(i);
            }
      })(i);
    }
    
    data[0]();
    执行的结果为 0;
    他会把值保存到内存中
  • 相关阅读:
    Nginx 限流配置
    Nginx 跨域配置
    LVS实现负载均衡原理及安装配置详解
    Tomcat基本概念
    Hapoxy 基本配置概念
    rsync断点续传
    Nginx概念
    angular img标签使用err-src
    $ionicLoading自定义加载动画
    h5+jquery自制相机,获取图片并上传
  • 原文地址:https://www.cnblogs.com/yu-hailong/p/7526341.html
Copyright © 2020-2023  润新知