对象拓展
Posted BluesQian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象拓展相关的知识,希望对你有一定的参考价值。
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]) }
以上是关于对象拓展的主要内容,如果未能解决你的问题,请参考以下文章