您的位置:首页 > Web前端 > JavaScript

javascript 声明对象的方式

2012-12-05 20:37 176 查看
(1):通过new操作符作用域Object对象,构造一个新的对象;然后动态添加属性,从无到有的构建一个对象‘

(2):定义对象的“类”原型,然后使用new操作符来批量的构筑新的对象。

//定义一个类Address

function
Address(street,xno){

this.street=street
|| 'A Road';

this.xno=xno
||35;

this.toString=function(){

return
"street----"+this.street+",xno---"+this.xno;

}

}

//定义一个类Person

function
Person(name,age,addr){

this.name=name
|| "unknow";

this.age=age;

this.addr=addr
|| new Address(null,null);

this.getName=function(){

return
this.name;

}

this.getAge=function(){

return
this.age;

}

this.getAddr=function(){

return
this.addr.toString();

}

}

//通过new操作符来创建对象;注意这两个对象是相对独立的实体

var jack=new
Person('jack',26,new Address('qinghaiRoad',123));

var ab=new
Person('ab',26);

alert(jack.getName());

alert(jack.getAge());

alert(jack.getAddr());

alert(ab.getName());

alert(ab.getAge());

alert(ab.getAddr());

可加以断点调试看看...对于"||"我不是很理解,那是默认值,请高手讲解...

(3):使用json来构建

json(javascript Object
Notation),即通过字面来表示一个对象,从简单到复杂的使用此方式。

var
obj={

name:"ab",

age:26,

birthday:new
Date(1984,12,12),

addr:{

street:"qinghai
Road",

xno:"135"

}

}

这种方式,显然比第二种声明类,在类中添加对象简洁的多,很清晰了表达了obj这样一个对象的结构。事实上,大多数有经验的javascript程序员更倾向与使用这中表示方法,包括很多的javascript的工具包,如JQuery,和Extjs等都大量的使用Json。Json事实上已经作为了一种前端与服务器端数据交换格式.前端程序通过Ajax发送Json对象到后端,服务器脚本对Json进行解析,还原成服务器对象,然后做了一些处理,反馈给前端的仍然是Json对象,使用同一数据格式,可以降低出错的几率。

而且Json格式数据本身也是可以递归的,可以任意的表达复杂的数据格式。Json写法很简单,即用花括号括起来的是键值对,键值对通过冒号隔开,而值可以是任意的javascript对象;如简单对象String,Boolean,Number,Null,或者是复杂对象如Date,Object,其他自定义对象等.....

json的另一个应用场景是:当一个函数拥有多个返回值,在传统的面向对象的语言中,我们需要组织一个对象,然后返回,而javascript则完全不需要这么麻烦.

function Point(left,top){

this.left=left;

this.top=top;

return {x:this.left,y:this.top};

}

直接动态的构建一个新的匿名对象返回就OK了. var
pos=Point(2,3);

使用json返回对象,这个对象可以有任意复杂的结构,设置可以包括函数对象。在实际编程中,我们通常需要遍历一个JavaScript对象,
事先我们对对象一无所知,我们可以通过for...in形式的语法糖....

for(var
item in json){

//item为键

//Json[item]为值

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: