现在的位置: 首页 > 综合 > 正文

JSON进阶二-面向对象的JSON

2012年05月27日 ⁄ 综合 ⁄ 共 1279字 ⁄ 字号 评论关闭

我在这里使用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的作用不值如此,在不同程序中通信也有很好的效果,继续。

抱歉!评论已关闭.