JSON進階二-面向對象的JSON

我在這裏使用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>

 

$.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>

但JSON的作用不值如此,在不同程序中通信也有很好的效果,繼續。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章