我在這裏使用JQuery的extend來表現JSON的面向對象形式。
例如有個JSON結構:
<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>
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的作用不值如此,在不同程序中通信也有很好的效果,繼續。