Javascript笔记 - Javascript中的JSON和对象

JSON是Javascript中对象的字面值,是对象的表示方法。Javascript对象其实就是一个属性的集合。

1、对象的属性:

对象的属性是有键值对组成的,其中key为一个字符串,value可以为任何的Javascript对象。

//使用[]设置和获取对象的属性
var obj = new Object();
obj[“www.itzhai.com"\] = “http://www.itzhai.com";
alert(obj[“www.itzhai.com"\]);

2、变量既是属性:

Javascript引擎在初始化时会构建一个全局对象,所有的变量都是这个全局对象的属性。为了引用这个全局对象,可以再顶级作用域中这样获取:

var global = this;

在Javascript中,任何独立的函数或者变量都属于这个对象的属性,即:

function test(){}

相当于:

window.test = function(){}

3、使用对象:

声明对象的三种方式:

① 通过new操作符创建一个Object对象,然后动态地添加属性,从无到有构造一个对象

② 定义对象的类圆形,然后使用new操作符来批量构造新的对象

//创建一个对象
function User(username, password){
this.username = username;
this.password = password;
this.getUsername = function(){
return this.username;
}
this.getPassword = function(){
return this.password;
}
}
var arthinking = new User(“Jason”, “123”);
alert(arthinking.getUsername());
alert(arthinking.getPassword());

③ 使用JSON构造对象

JSON即Javascript对象表示方法(Javascript Object Notation),也就是通过字面量来表示一个对象:

//JSON形式创建一个对象
var arthinking = {
username : “Jason”,
password : “123”,
favorite : {
sports : “football”,
music : “Guitar”
}
}
alert(arthinking.username);
alert(arthinking.favorite.sports);

使用JSON的优点:

这种写法比较简洁,大多数有经验的Javascript程序员都更倾向于这种写法,jQuery、ExtJS都大量使用了JSON。

JSON格式数据本身是可以递归的,可以表达任意复杂的数据类型。

JSON的写法很简单:用花括号括起来的键值对,键值对通过冒号隔开,值可以是任意的Javascript对象。

作为一种前端和服务器端数据交换的格式,前端通过AJAX发送JSOn对象到服务器,服务器端通过脚本对JSON进行解析,还原成服务器端的对象,进行处理,然后在通过JSON数据形式返回给客户端信息。这样使用同一种数据格式,可以降低出错率。

使用JSON数据作为函数的返回值:

JSON的另一个应用场景是当一个函数拥有多个返回值时,可以不用按照传统面向对象编程那样返回对象,而是直接返回JSON格式的数据即可。

//使用JSON作为函数的返回值
function position(left, top){
this.left = left;
this.top = top;
return {
left : this.left,
top : this.top
};
}
alert(position(10, 10));

可以这样逐个循环获取JSON中的数据:

var json = position(10, 10);
for(var key in json){
alert(key +” : “ + json[key]);
}

arthinking wechat
欢迎关注itzhai公众号