zoukankan      html  css  js  c++  java
  • javaScript高级教程(三) javaScript不支持关联数组,只是语法上像关联数组

      1.在js中所有要素都是继承自Object对象的,任何对象都能通过obj['name'] = something的形式来添加属性,相当于obj.name=something。

    之所以设计中括号这种存取方式是为了方便在存取属性不定的情况下把属性名作为变量传入进行存取。例如

     function get(property){
        return obj[property];
    }
    
    var name=get('name');

      2.var obj={name:"licous"};这个东西并不是大家所谓的json,而是声明一个对象。

    json是一种为了方便数据交换的有格式的文本,例如'{"name":"licous"}'

      3.对象就是关联数组,所以对象的元素可以像关联数组一样调用

      (function(){
          var q = {
              a:'aa',
              f:function(){
                  alert('f');
              }};
     
         alert(q['a']);                //相当于q.a;  
         q['f']();                     //相当于q.f();
    
         var q1 = clone(q);
         q1.a = 'along';
         alert(q.a);                  // 还是aa
     
       })();
    
     //返回新对象,双方互不影响
     function clone(obj){   
         
         if(typeof(obj) != 'object') return obj;
         if(obj == null) return obj;                   //因为typeof(null) == object所以还要加上这步
         var newObj = {};
         for(var i in obj){
             newObj[i] = clone(obj[i]);               //递归调用
             //alert('obj['+i+'] '+obj[i]);
         }
         return newObj;
     }
  • 相关阅读:
    新机自动创建yum库
    一段自动添加证书命令
    一段托盘程序
    date
    1234567890 转换成 1,234,567,890
    删除localStorage数组中其中一个元素(根据元素中的属性key)
    xcode6 ios launchimage
    画分割线
    裁剪和打水印
    UITextView添加一个placeholder功能
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/3273432.html
Copyright © 2011-2022 走看看