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

  • 相关阅读:
    转!!javaMail使用网易163邮箱报535 Error: authentication failed
    银行卡验证(验证是否存在,卡号类型,归属行)
    Navicat已经成功连接,密码忘记的解决方法
    Inline&IAT Hook原理
    x64dbg尝鲜
    C# 通过Dynamic访问System.Text.Json对象
    dotnet5将asp.net webapi宿主到wpf
    Asp.Net5 MVC with Vue.js
    在 Visual Studio 中使用跟踪点将信息记录到“输出”窗口中
    WPF带阴影的无边框窗体
  • 原文地址:https://www.cnblogs.com/KangC/p/1349148.html
Copyright © 2011-2022 走看看