json格式的javascript对象用法分析


Posted in Javascript onJuly 04, 2016

本文实例分析了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

PS:这里再为大家推荐几款json在线工具,相信大家在今后的开发中可以用得到:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.3water.com/code/json

JSON在线格式化工具:
http://tools.3water.com/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.3water.com/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.3water.com/code/jsoncodeformat

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.3water.com/code/ccode_html_css_json

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
基于jQuery的message插件实现右下角弹出消息框
Jan 11 Javascript
javascript 实现 原路返回
Jan 21 Javascript
Javascript编写俄罗斯方块思路及实例
Jul 07 Javascript
常见JS验证脚本汇总
Dec 01 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
May 23 Javascript
JavaScript数据类型学习笔记分享
Sep 01 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
Dec 28 Javascript
Bootstrap面板(Panels)的简单实现代码
Mar 17 Javascript
关于微信小程序登录的那些事
Jan 08 Javascript
这应该是最详细的响应式系统讲解了
Jul 22 Javascript
Vue的属性、方法、生命周期实例代码详解
Sep 17 Javascript
jQuery简单动画变换效果实例分析
Jul 04 #Javascript
Node.js Streams文件读写操作详解
Jul 04 #Javascript
jQuery文字提示与图片提示效果实现方法
Jul 04 #Javascript
jQuery实现的导航下拉菜单效果
Jul 04 #Javascript
表单中单选框添加选项和移除选项
Jul 04 #Javascript
jQuery实现简单倒计时功能的方法
Jul 04 #Javascript
jquery设置表单元素为不可用的简单代码
Jul 04 #Javascript
You might like
德生PL550的电路分析
2021/03/02 无线电
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
php阳历转农历优化版
2016/08/08 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
JavaScript 原型学习总结
2010/10/29 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
浅谈javascript中的事件冒泡和事件捕获
2016/12/28 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
调试Python程序代码的几种方法总结
2015/04/28 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
英国No.1文具和办公用品在线:Euroffice
2016/09/21 全球购物
什么是Smart Navigation?
2016/07/03 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
学习全国两会精神心得体会范文
2014/03/17 职场文书
优秀广告词大全
2014/03/19 职场文书
感谢信范文大全
2015/01/23 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js