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

  • 相关阅读:
    gitlab搭建
    java数组
    安裝nextcloud
    Spring的定时任务@Scheduled(cron = "0 0 1 * * *")
    java内存结构(下)
    java内存结构(上)
    多线程的三个特性
    @RequestBody用法
    SwaggerAPI注解详解(转载)
    在jpanel中添加jbutton并自由设置按钮大小和位置
  • 原文地址:https://www.cnblogs.com/KangC/p/1349148.html
Copyright © 2011-2022 走看看