javascript - 给对象额外顶一个接口,如何访问对象里面的变量?
PHP中文网
PHP中文网 2017-04-11 12:21:41
[JavaScript讨论组]

getList访问不到对象里面的arr table
var mod,b=0;
(function test(a){

  "use strict";
  a = a||{};
  var arr=[],count= 0,table={};
  a.set=function(key,value,callback){
      arr.push(value);
      table[key]=value;
      count+=value;
      if(callback)callback();
  };
  a.urlParse=function(url){
      if(!(url.indexOf("?")>=0))return;
      var str=url.split("?")[1].split(/&|=/),result={};
      for(var i= 0,len=str.length;i

})(mod);

b.getList=function(){

  var arrTable=[];
  for(var i= 0,len=arr.length;i

}

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
巴扎黑
<script type="text/javascript">
    var mod,b=0;
 (function test(a){
  "use strict";
  a = a||{};
  var arr=[],count= 0,table={};
  a.set=function(key,value,callback){
      arr.push(value);
      table[key]=value;
      count+=value;
      if(callback)callback();
  };
  a.urlParse=function(url){
      if(!(url.indexOf("?")>=0))return;
      var str=url.split("?")[1].split(/&|=/),result={};
      for(var i= 0,len=str.length;i<len;i+=2){
          table[str[i]]=str[i+1]-0;
          result[str[i]]=str[i+1]-0;
          count+=table[str[i]];
      }
      return result;
  }
  a.get=function(key){
      return table[key]?table[key]:"Don't has the value of"+key;
  }
  a.count=function(){
      return count;
  }

a._arr = arr; // 把 局部 变量 arr 数组 赋值 到 a 对象 _arr 属性 里
a._table = table; // 局部 table 也 一样

  b = a;

})(mod);

b.getList=function(){

  var arrTable=[],
  arr = this._arr,
  table = this._table;
  for(var i= 0,len=arr.length;i<len;i++){
      arrTable.push(arr[i]);
  }
  for(var key in table){
      arrTable.push(key);
  }
  return arrTable;
};

b.set('count',1); // 调用
b.set('age',25,function(){alert('调用');});
console.log(b.getList()); // [1,25,'count','age']
    </script>
天蓬老师

楼主你是曲解意思了,所谓给b加,给a加了是一个意思,因为b也给用到,所以实际应该是写在匿名作用域里。
a.getList=function(){

var arrTable=[];
for(var i= 0,len=arr.length;i<len;i++){

  arrTable.push(arr[i]);

}
for(var key in table){

  arrTable.push(key);

}
return arrTable;
}

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号