我在这里使用JQuery的extend来表现JSON的面向对象形式。
例如有个JSON结构:
<
script src
=
"
jquery-1.2.6.min.js
"
></
script
>
< script >
var People = {
name: '' ,
sex: 0 ,
birth: '' ,
Speak: function() {
var sexCN = this .sex == 1 ? ' 男 ' : ' 女 ' ;
alert( ' 我叫: ' + this .name + ' , ' + sexCN + ' 性,出生于: ' + this .birth);
}
};
var p1 = $.extend({}, People, { name: ' 张三 ' , sex: 1 , birth: ' 2007-1-1 ' });
var p2 = $.extend({}, People, { name: ' 李四 ' , sex: 2 , birth: ' 2007-2-1 ' });
p1.Speak();
p2.Speak();
</ script >
< script >
var People = {
name: '' ,
sex: 0 ,
birth: '' ,
Speak: function() {
var sexCN = this .sex == 1 ? ' 男 ' : ' 女 ' ;
alert( ' 我叫: ' + this .name + ' , ' + sexCN + ' 性,出生于: ' + this .birth);
}
};
var p1 = $.extend({}, People, { name: ' 张三 ' , sex: 1 , birth: ' 2007-1-1 ' });
var p2 = $.extend({}, People, { name: ' 李四 ' , sex: 2 , birth: ' 2007-2-1 ' });
p1.Speak();
p2.Speak();
</ script >
$.extend 方法是JQ的一个方法,可以看下JQ的API,包括:EXT在内很多JS框架都会有类似extend方法,$.extend({},People,{name:'',sex:1,birth:'2007-1-1'});类似于C#的继承,你也可以把它理解为new了个新对象。
同样的你也可以重写Speak方法。
<
script src
=
"
jquery-1.2.6.min.js
"
></
script
>
< script >
var People = {
name: '' ,
sex: 0 ,
birth: '' ,
Speak: function() {
var sexCN = this .sex == 1 ? ' 男 ' : ' 女 ' ;
alert( ' 我叫: ' + this .name + ' , ' + sexCN + ' 性,出生于: ' + this .birth);
}
};
var p1 = $.extend({}, People, { name: ' 张三 ' , sex: 1 , birth: ' 2007-1-1 ' });
p1.Speak();
p1 = $.extend(p1, {
Speak:function(){
alert( ' 我姓 ' + this .name.substr( 0 , 1 ) + ' 名 ' + this .name.substr( 1 , 1 ));
}
});
p1.Speak();
</ script >
< script >
var People = {
name: '' ,
sex: 0 ,
birth: '' ,
Speak: function() {
var sexCN = this .sex == 1 ? ' 男 ' : ' 女 ' ;
alert( ' 我叫: ' + this .name + ' , ' + sexCN + ' 性,出生于: ' + this .birth);
}
};
var p1 = $.extend({}, People, { name: ' 张三 ' , sex: 1 , birth: ' 2007-1-1 ' });
p1.Speak();
p1 = $.extend(p1, {
Speak:function(){
alert( ' 我姓 ' + this .name.substr( 0 , 1 ) + ' 名 ' + this .name.substr( 1 , 1 ));
}
});
p1.Speak();
</ script >
但JSON的作用不值如此,在不同程序中通信也有很好的效果,继续。