zoukankan      html  css  js  c++  java
  • json格式的javascript对象用法分析

    格式:

    objectName = {
     property1:value1,
     property2:value2,
     …,
     propertyN:valueN
    }
    property是对象的属性 ,value则是对象的值,值可以是字符串、数字或对象三者之一
    例一: 值为字符串和数字
    var user={
     name:"user1",
     age:18
    };
    例二:值为字符串和对象
    var user={ //user本身是一个对象
     name:"user1",
     job:{ //job也是一个对象
      salary:3000,
      title:programmer
     }
    }
    例三:值还可以为函数
    var user={ //user本身为一个对象
     name:"user1",
     age:18,
     getName:function(){ //getName为方法
      return this.name;
     }
    }
    以下ZPVisitor类的定义格式在实际企业项目中经常被使用:
    var ZPVisitor = {
     init : function(){
      var url = ZPConstant.AJAX_SERVER + "&a=hello" + "&sid=" + Math.random();
      $.getJSON(url,function(result){ // #TODO 跨域请求?
       if (result.done) {
        var logininfo = result.data.name + " 您好!";
        if (!result.data.login) {
        logininfo += " <a href="" + ZPConstant.MYZP_DOMAIN + "index.php?c=member&a=login">登录</a>/<a href="" +
        ZPConstant.MYZP_DOMAIN + "index.php?c=member&a=regist">注册</a>";
        } else {
        logininfo += " <a href="" + ZPConstant.MYZP_DOMAIN + "index.php?c=member&a=logout">注销</a>";
        }
        $("#login-info").html(logininfo);
       } else {
        popAlert(result.msg);
       }
      }); //结束getJSON
     }, //结束init方法
     // 收藏商品
     collect : function(pid) {
       var pid = parseInt(pid);
       if (isNaN(pid)) return false;
       var url = ZPConstant.AJAX_SERVER + "&a=collect&pid=" + pid + "&sid=" + Math.random();
       $.getJSON(url,function(result){
        if(result.done){
         popAlert(result.msg);
        } else {
         popAlert(result.msg);
        }
       });//结束getJSON方法
     },// 结束collect方法
     // 浏览历史
     vHistory :{
      get:function(callback){
       var items_str = getCookie(ZPConstant.VIEW_HISTORY_CKNAME);
       if (items_str == null) return;
       var items = items_str.split(",").reverse().join(","),
       url = ZPConstant.AJAX_SERVER + "&a=viewHistory" + "&items="+ items + "&sid=" + Math.random();
       // TODO 向服务端请求数据
       $.getJSON(url,function(response){
         if(response.done){
          callback(response.data,items);
        } else {
          return false;
        }
       });//结束getJSON方法
      },//结束get方法
      add:function(pid){
       var pid = parseInt(pid);
       if (isNaN(pid)) return;
       var cookieStr = getCookie(ZPConstant.VIEW_HISTORY_CKNAME);
       if (cookieStr) {
        var pids = cookieStr.split(","),_tempPids = [];
        for (var i=0;i<pids.length;i++){
         if (pids[i] != pid) { // 如果已经存在,则移除之前写入的数据
          _tempPids.push(parseInt(pids[i]));
         }
        }
        _tempPids.push(pid);// 将新数据放到数组最后
        setCookie(ZPConstant.VIEW_HISTORY_CKNAME, _tempPids.reverse().slice(0,5).reverse().join(","));
       } else {
        setCookie(ZPConstant.VIEW_HISTORY_CKNAME, pid);
       }
      },// 结束add方法
      clear:function(){
        setCookie(ZPConstant.VIEW_HISTORY_CKNAME, '', -100);
      }
     },//结束vHistory
     // 购物车已删除的商品记录
     dropHistory: function(spid){
      var cookieStr = getCookie(ZPConstant.CARTDEL_CKNAME);
      if (cookieStr){
       var idsDel = cookieStr.split(",");
       for (var i=0;i<idsDel.length;i++){
         idsDel[i] = parseInt(idsDel[i]);
       }
       if ($.inArray(spid,idsDel) == -1){
        idsDel.push(spid);
        setCookie(ZPConstant.CARTDEL_CKNAME, idsDel.join(","));
       }
      } else {
       setCookie(ZPConstant.CARTDEL_CKNAME, spid);
      }
     }//结束dropHistory
    }//结束ZPVisitor
  • 相关阅读:
    VSCode一键调用DOSBox运行MASM/TASM代码的自定义任务
    C# | VS2019连接MySQL的三种方法以及使用MySQL数据库教程
    Visual Studio 2019连接MySQL数据库详细教程
    Visual Studio 2022 激活码
    Python | 使用SVM支持向量机进行鸢尾花分类
    Python | __init__.py的神奇用法
    Java简单介绍及Java生态
    NoSQL:一个帝国的崛起
    学习哪门语言好
    浅析HTTP协议
  • 原文地址:https://www.cnblogs.com/sjqq/p/6363478.html
Copyright © 2011-2022 走看看