索引
对于丑陋的事物,爱会闭目无视。———威廉· 莎士比亚,《维洛那二绅士(The Two Gentlemen of Verona)》
JavaScript的简单类型包裹数字、字符串、布尔值(true和flase)、null 值和 undefined 值。其他所有值对象。数字、字符串和布尔值“貌似”对象,因为它们拥有方法,但它们是不可变的。JavaScript中的对象是可变的键控集合(keyed collections)。在JavaScript中,数组是对象,函数是对象,正则表达式是对象,当然,对象自然也是对象。
对象是属性的兼容期,其中每个属性都拥有名字和值。属性的名字可以是包括空字符串在内的任意字符串。属性值可以是除undefined值之外的任何值。
JavaScript中的对象是无类别(class-free)的。它对新属性的名字和值没有约束。对象适合用语手机和管理数据。对象也可以包含其他对象,举个简单的例子,拿你对象来说他/她是你的对象,但是他/她也拥有属于他/她的对象,世界万物皆对象,是存在不同维度的。对象适合用语手机和管理数据。对象可以包含其他对象,所以它们可以容易的表示成树形或图形结构。
JavaScript 包括一个原型链接特性,允许对象继承另外一对象的属性。正确的使用它能减少对象初始化的时间和内存的消耗。
对象字面量
对象字面量提供了一种非常方便创建对象值的表示法。一个对象字面量就是包围在一堆花括号的零或多个“名/值”对。对象字面量可以出现在任何允许表达式出现的地方。让我们来看下面这段代码:
var empty_object = ();
var stoge = {
"first - name": "Jerome"
"last- name": "Howard"
};
属性名是可以包括字符串在内的任何字符串。在对象面量中,如果属性名是一个合法的JavaScript 标识符且不是保留字,并且不强制要求用引号括住属性名。所以用引括住"first - name"是必须的,但是否括住 first - name 则是可选的。逗号用来分隔“名/值”对。
如有想一起进步的小伙伴们可来鄙人的交流学习群:621071874。
属性的值可以包括另一个对象字面量在内的任意表达式中获得。对象是可嵌套的,如下代码:
var flaight ={
airline: "Oceanic",
number: 815,
departure:{
IATA: "SYD",
time: "2004-09-22 14:55",
city: "Sydeny"
},
arrival:{
IATA: "LAX"
time: " 2004-09-23 10:42"
city: "Los Angeles"
}
};
这就是所谓的面向字面量对象。
我们不写程序的,我们只是代码的搬运工。