JavaScript 学习笔记 2

hey,guys~~
那么还是继续上次的话题,我们如何将原始的JavaScript简化呢?使用JSON吧

使用JSON

JSON是语言的一个核心特征,提供了一种创建数组和对象图(object graph)的简单机制。

Array类(JavaScript内建),使用new关键字初始化:
myLibrary.books = new Array();

可以像传统的C或Java数组:
myLibrary.book[4] = somePredefinedBook;

也可以使用键值关联,类似Java的Map或者Python的Dictionary:
myLibrary.books[“bestSeller”] = somePredefinedBook;

一个数组的快捷方法是像这样:
myLibrary.books = [ predefinedBook1, predefinedBook2, predefinedBook3 ];

创建JavaScript对象,我们可以使用花括号,将每个值写成“键:值”对的形式(此处的键就是所谓创建的对象):
myLibrary.books =
{
bestSeller : predefinedBook1,
cookbBook : predefinedBook2,
spaceFiller : predefinedBook3
};
注:bestSeller相当于可以使用”best Seller”表示。

可以通过JSON符号来创建复杂对象层次的单行定义(虽然会是很长的一行):
var myLibrary =
{
location : “my house”, /* myLibrary.location = “my house” */
keywords : [“root vegetables”, “turnip”, “tedium” ], /* myLibrary.keywords[0] = “root vegetables”,myLibrary.keywords[1] = “turnip”,myLibrary.keywords[2] = “tedium” */
books: [
{
title : “…………”, /*myLibrary.books[0].title = “…………”*/
authors : [ /*myLibrary.books[0].authors[0].name=”A B”*/
{ name : “A B”, age : 9 },
{ name : “C D”, age : 312 }
],
publicationDate : “long ago”
},
{
title : “…………”,
authors : [ /*myLibrary.books[1].authors[0].name=”E F”*/
{ name : “E F”, age : 35 }
],
publicationDate : new Date(1605,11,05) /*可以使用任何代码赋值*/
}
]
};

JSON 为我们提供了简练的机制来以单一的途径创建这些信息,否则就会话费很多行代码(以及更多的宽带)。

为使用JSON创建的对象定义成员函数:
var turnipVol2 =
{
summarize : function(len) /*turnipVol2.summarize = function(len)*/
{
…………
}
};

turnipVol2.summarize(6); /*调用该对象函数*/
注:一旦对象创建了,它仅仅是另外一个JavaScript对象,只要我们喜欢,可以混合和匹配使用JavaScript和JSON符号。

如下为混合使用情况:
var Numbers = { one : 1, two : 2, three : 3};
number.five = 5;

可以使用JSON语法来定义一个对象,然后使用普通的JavaScript添加属性。同样的,可以使用JSON扩展JavaScript所创建的对象:
var cookbook = new Object();
cookbook.pageCount = 321;
cookbook.author =
{
firstName : “harry”,
birthdate : new Date(1900,2,29),
interests : [“cheese” , “whistling”]
};

最后总结下:通过内建的JavaScript Object 和 Array类以及JSON符号,可以创建我们喜欢的任意复杂的对象层次,我们不再需要其他任何东西。JavaScript也提供了创建对象的方法,为面向对象程序员提供了令人舒适的类定义的相似性,那下一篇就会开始介绍它到底给我们提供了什么。
好吧,各位,大象等着我,我和我的朋友们还有很多事要做,下次再见吧~~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值