一、使用内置对象
这种内置对象可以分为两种:我们不但可以将一个JSON字符串转化为对象,反过来将一个对象“编译”为一个JSON字符串,以方便JavaScript中的对象的传输。例如: 复制代码 代码如下:
var Animals = new Object();
Animals.name = "dog";
Animals.sex = "Male";
Animals.age = "2";
Animals对象无法被序列化传输,将Animals对象转化为JSON字符串,也就是“{name:"dog",sex:"Male",age:"2"}”。这样,把该JSON字符串作为HTTP请求的一个参数传递,从而达到序列化传输Animals对象的目的。 (ii)JSON通过字符串形式来表达JavaScript的对象。如: 复制代码 代码如下:
var myObject = {nickname:"my girlfried",name:"big pig"};
JSON实际上充当了一种在JavaScript对象和字符串之间实现相互转换的协议。由于JSON的“外表”可以看成但村的字符串,因此JSON在JavaScript的对象传输方面可以起到一定的作用。例如把对象strObject转换成字符串后进行传输,在达到目的地后通过eval方法将其还原成对象: 复制代码 代码如下:
function test (o)
{
alert (o.name)
}
var strObject = '{nickname:"my girlfriend",name:"big pig"}';
test (eval("(" + strObject + ")"));
javascript 语言的原生对象:String,object,Funtion等;javascript运行期的宿主对象:window .document.body等;
事例:
var str=new String();
var str1="";
var func=new Function();
var o=new Object();
二、使用json符号
json(javascript object Notation) javascript的对象命名,是一种轻量级的数据交换格式
易于阅读与编写,同时也易于解析和生成。他是完全独立于语言的文本格式,因此他是
数据交换的理想格式。
json的创建方式也有两种:
1.简单的键值对集合:在不同的语言中被理解为对象、记录、结构、字典、哈希表、有键列表,或者关联数组等,
2.有序的值列表:大部分语言把它理解为数组
我们不但可以将一个JSON字符串转化为对象,反过来将一个对象“编译”为一个JSON字符串,以方便JavaScript中的对象的传输。例如: 复制代码 代码如下:
var Animals = new Object();
Animals.name = "dog";
Animals.sex = "Male";
Animals.age = "2";
Animals对象无法被序列化传输,将Animals对象转化为JSON字符串,也就是“{name:"dog",sex:"Male",age:"2"}”。这样,把该JSON字符串作为HTTP请求的一个参数传递,从而达到序列化传输Animals对象的目的。 (ii)JSON通过字符串形式来表达JavaScript的对象。如: 复制代码 代码如下:
var myObject = {nickname:"my girlfried",name:"big pig"};
JSON实际上充当了一种在JavaScript对象和字符串之间实现相互转换的协议。由于JSON的“外表”可以看成但村的字符串,因此JSON在JavaScript的对象传输方面可以起到一定的作用。例如把对象strObject转换成字符串后进行传输,在达到目的地后通过eval方法将其还原成对象: 复制代码 代码如下:
function test (o)
{
alert (o.name)
}
var strObject = '{nickname:"my girlfriend",name:"big pig"}';
test (eval("(" + strObject + ")"));
三、自定义对象构造函数
创建高级对象构造器有两种方式:使用“this"关键字构造,使用原型prototype构造
我们不但可以将一个JSON字符串转化为对象,反过来将一个对象“编译”为一个JSON字符串,以方便JavaScript中的对象的传输。例如:
复制代码 代码如下:
var Animals = new Object();
Animals.name = "dog";
Animals.sex = "Male";
Animals.age = "2";
Animals对象无法被序列化传输,将Animals对象转化为JSON字符串,也就是“{name:"dog",sex:"Male",age:"2"}”。这样,把该JSON字符串作为HTTP请求的一个参数传递,从而达到序列化传输Animals对象的目的。
(ii)JSON通过字符串形式来表达JavaScript的对象。如:
复制代码 代码如下:
var myObject = {nickname:"my girlfried",name:"big pig"};
JSON实际上充当了一种在JavaScript对象和字符串之间实现相互转换的协议。由于JSON的“外表”可以看成但村的字符串,因此JSON在JavaScript的对象传输方面可以起到一定的作用。例如把对象strObject转换成字符串后进行传输,在达到目的地后通过eval方法将其还原成对象:
复制代码 代码如下:
function test (o)
{
alert (o.name)
}
var strObject = '{nickname:"my girlfriend",name:"big pig"}';
test (eval("(" + strObject + ")"));
上例中的两种定义在本质上没有区别,都是定义“Girl”对象的属性信息。“this”与“prototype”的区别主要在于属性访问的顺序。如:
另外一方面:this与prototype在存储上也有一些差异:
this是在初始化事例后为构造方法所包含的所有属性,方法开辟空间。但是prototyp实际上是指向父级的应用
仅仅是数据的副本。因此要比this节约资源。