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;
     }
  • 相关阅读:
    串一串《数学之美》中的信息论的几个章节
    失败经历--在windows下安装meld
    xv6实验环境搭建
    python爬取网站数据
    零散知识
    Pycharm使用技巧
    变量
    电信光猫强制wifi(SSID)名称ChinaNet开头解决办法之一
    PhpStorm 常用快捷键
    Android Studio 安装与使用ADB wifi 无线调试
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/3273432.html
Copyright © 2011-2022 走看看