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 相关文章推荐
js cookies实现简单统计访问次数
Nov 24 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
Dec 02 Javascript
JavaScript 更严格的相等 [译]
Sep 20 Javascript
JS建造者模式基本用法实例分析
Jun 30 Javascript
BootStrap的JS插件之轮播效果案例详解
May 16 Javascript
JS实现动态增加和删除li标签行的实例代码
Oct 16 Javascript
使用Angular.js实现简单的购物车功能
Nov 21 Javascript
利用js编写网页进度条效果
Oct 08 Javascript
vue实现日历备忘录功能
Sep 24 Javascript
小程序实现短信登录倒计时
Jul 12 Javascript
vue的滚动条插件实现代码
Sep 07 Javascript
原型和原型链 prototype和proto的区别详情
Nov 02 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
php MYSQL 数据备份类
2009/06/19 PHP
ThinkPHP php 框架学习笔记
2009/10/30 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
ajax 文件上传应用简单实现
2009/03/03 Javascript
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
详解jQuery选择器
2016/12/21 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
layui的数据表格+springmvc实现搜索功能的例子
2019/09/28 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
详解Python中的序列化与反序列化的使用
2015/06/30 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
2017/08/30 Python
Python入门之三角函数atan2()函数详解
2017/11/08 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
python实现俄罗斯方块
2018/06/26 Python
python中调试或排错的五种方法示例
2019/09/12 Python
Watchshop德国:欧洲在线手表No.1
2019/06/20 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
给物业的表扬信
2014/01/21 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
幼师自荐信范文
2015/03/06 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
2019让人心动的商业计划书
2019/06/27 职场文书
vue3不同环境下实现配置代理
2022/05/25 Vue.js