面向对象的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的作用不值如此,在不同程序中通信也有很好的效果的。

转载于:https://www.cnblogs.com/youtm/archive/2013/05/20/3088218.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值