您的位置:首页 > Web前端 > JavaScript

JSON进阶二-面向对象的JSON

2011-11-29 19:29 411 查看
我在这里使用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的作用不值如此,在不同程序中通信也有很好的效果,继续。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息