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 相关文章推荐
slice函数的用法 之不错的应用
Dec 29 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
Feb 12 Javascript
浅谈JS闭包中的循环绑定处理程序
Nov 09 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
Dec 19 Javascript
jQuery添加options点击事件并传值实例代码
May 18 Javascript
JS实现小球的弹性碰撞效果
Nov 11 Javascript
如何在vue里添加好看的lottie动画
Aug 02 Javascript
jQuery zTree插件快速实现目录树
Aug 16 jQuery
JavaScript实现Excel表格效果
Feb 07 Javascript
vue实现瀑布流组件滑动加载更多
Mar 10 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
Apr 17 Javascript
解决vue自定义组件@click点击失效问题
Apr 30 Vue.js
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
乐信RP2100的电路分析和打磨
2021/03/02 无线电
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
jQuery 表格工具集
2010/04/25 Javascript
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
Python实现批量检测HTTP服务的状态
2016/10/27 Python
python中redis的安装和使用
2016/12/04 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
python3的输入方式及多组输入方法
2018/10/17 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
Python操作json的方法实例分析
2018/12/06 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
PHP如何设置和取得Cookie值
2015/06/30 面试题
祖国在我心中的演讲稿
2014/05/04 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
用python画城市轮播地图
2021/05/28 Python
MySQL sql模式设置引起的问题
2022/05/15 MySQL