zoukankan      html  css  js  c++  java
  • 对象拓展

    JavaScript的简单数据类型包含数字,字符串,布尔值,null和undefined值。其他所有的值都是对象。数字,字符串和布尔值“貌似”对象发,因为他们都拥有方法,但他们是不可变的。JavaScript中的对象是可变的键控集合。在JavaScript中,数组是对象,函数是对象,正则表达式是对象。

    对象是属性的容器,其中每个属性都拥有名字和值。属性的名字可以是包括空字符串在内的任意字符串。属性值可以是除undefined值之外的任何值。

    一:对象字面量

    var empty_object = {};
    var stooge = {
        "first-name":"Jerome",
        "last-name":"Howard"
    };

    对象是可嵌套的。

    var flight = {
        airline:"Oceanic",
        number:815,
        departure:{
            IATA:"SYD",
            time:"2017_10_07 08:21",
            city:"Sydney"
        },
        arrival:{
            IATA:"LAX",
            time:"2017_10_08 08:21",
            city:"Los Angeles"
        }
    }

    二:检索

    采用在[]后缀中扩住一个字符串表达式的方式。也可以用.表示法代替。优先考虑.表示法,因为他们更紧凑且可读性好。

    console.log(stooge["first-name"]);      /*Jerome*/
    console.log(flight.departure.IATA);     /*SYD*/

    三:更新

    对象的值可以通过赋值语句来更新。

    stooge["first-name"] = "David";
    console.log(stooge["first-name"]);      /*David*/

    四:引用

    对象可以通过引用来传递。它们永远不会被复制

    var x = stooge;
    x.nickname = "curly";
    var nick = stooge.nickname;             /*因为x和stooge是指向同一个对象的引用,所以nick为“Curly”*/

    五:原型

    每个对象都链接到一个原型对象,并且它可以从中获取继承属性。所有通过对象字面量创建的对象都连接到Object.prototype,它是JavaScript中的标配对象。

    六:枚举

    for-in语句可以用来遍历对象中的所有属性名。该枚举过程将会列出所有的属性-包含函数和你可能不关心的原型中的属性-所以有必要过滤那些你不想要的值。

    但是,属性名出现的顺序是不确定的,因此要对任何可能出现的顺序有所准备,最好的办法就是完全避免使用for-in语句,而是创建一个数组,在其中以正确的顺序包含属性名:

    var i;
    var prototies = [
        'first',
        'middle',
        'last'
    ];
    for(i=0;i<prototies.length;i++){
        console.log(prototies[i])
    }
  • 相关阅读:
    Ubuntu 修改 ssh 登录后的欢迎信息
    Hbase的配置和安装
    python起的 simpleHTTPServer服务传输文件
    hadoop修改MR的提交的代码程序的副本数
    Fair Scheduler 队列设置经验总结
    调度系统任务创建---创建一个JoinTrigger的依赖任务(五)
    调度系统任务创建---创建一个MultiJob的任务(四)
    调度系统任务创建---创建一个有上下游依赖的任务(三)
    调度系统任务创建---创建一个简单调度任务(二)
    SSM框架新特性关于用Java配置类完全代替XML
  • 原文地址:https://www.cnblogs.com/QianBoy/p/7634102.html
Copyright © 2011-2022 走看看