zoukankan      html  css  js  c++  java
  • 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的作用不值如此,在不同程序中通信也有很好的效果,继续。

  • 相关阅读:
    小进步一点
    首个vue.js项目收尾中……
    elememtui(有关权限的那些事)
    vue.js2.0+elementui ——> 后台管理系统
    console.log篇
    select下拉框不能赋值
    vue中的小踩坑(01)
    vue2.0+element-ui(01简单点的单页面)
    lodash(二)对象+循环遍历+排序
    lodash(一)数组
  • 原文地址:https://www.cnblogs.com/KangC/p/1349148.html
Copyright © 2011-2022 走看看