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

  • 相关阅读:
    阶段性总结(PHP-JSON)
    阶段性总结(PHP-Array函数)
    JavaScript异步加载的三种方式——async和defer、动态创建script
    event.target 和 event.currentTarget 的区别
    面试题:常用的http状态码
    JS变量重复声明以及忽略var 声明的问题及其背后的原理
    line-height:1.5和line-height:150%的区别
    Web前端性能优化——如何提高页面加载速度
    Promise和setTimeout执行顺序 面试题
    过目不忘JS正则表达式
  • 原文地址:https://www.cnblogs.com/KangC/p/1349148.html
Copyright © 2011-2022 走看看