小人本后台程序员,
耐何不懂javascript语言,
谁人不向往未知的明天,
入坑才能挣到钱.(小装一下)
言归正传
所谓的坑坑
坑一、vue中sessionStorage(windows中原生的session Storage)
what?
sesson对象跟java中httpSession对象是作用类似,在会话创建时开始存在,直到当前会话结束该session消除(注意此会话指的是浏览器的会话)
how?
1 // 保存数据到sessionStorage 2 sessionStorage.setItem(‘key‘, ‘value‘); 3 4 // 从sessionStorage获取数据 5 var data = sessionStorage.getItem(‘key‘); 6 7 // 从sessionStorage删除保存的数据 8 sessionStorage.removeItem(‘key‘); 9 10 // 从sessionStorage删除所有保存的数据 11 sessionStorage.clear(); 12 13 返回值 14 一个 Storage 对象。
注意:该session存值时的value值只能存字符串,切记切记,不要傻傻的把普通对象或者数组对象当成value值存进去。
1 var testArray = new Array(); 2 3 存值 4 sessionStorage.setItem("formDetailArray",JSON.stringify(testArray )); 5 6 取值 7 var testArray= JSON.parse(sessionStorage.getItem("formDetailArray"))
why?
我猜的是因为前台框架毕竟只是轻量级框架,对于对象的解析与保存肯定存在一定的局限性,还是我们java比较强大一些(哈哈, 会不会被打死),但是前台对于json字符串的
处理确实效率更高;以上纯属虚构,因为没有百度到,所以暂时就只能这样自欺欺人啦,哪位大牛有所指点的时候记得艾特我!先说声谢谢
坑2 vue全局变量的用法(主要是数据不同数据的转换)
what?
在vue全局变量的运用的确是开发人员带来很大的方便使业务逻辑变得更加清晰
how?
但是我们往往涉及到一些具体的精度计算,因为具体业务逻辑的时候总会有一些金额或者数量的转换或者计算此时记得是什么就要转换成什么类型的数据不能一味的运用字符串
1 普通数据的转换 2 data: { 3 money: "123" 4 } 5 6 var money = parseInt(this.money); //123 7 var money = parseFloat(this.money); //123.0 8 9 时间格式的转换 10 字符串转时间(推荐使用js插件 moment.js--时间格式化处理利器) 11 var beginTime = new Date(moment("2018-04-01").format("x") * 1); 12 13 当前时间转换为时间戳 14 var timestamp = parseInt(new Date().getTime()/1000); // 当前时间戳 15 document.write(timestamp);
具体实现方式
1 具体时间格式的转换 2 3 1.当前时间换日期字符串 4 5 var now = new Date(); 6 var yy = now.getFullYear(); //年 7 var mm = now.getMonth() + 1; //月 8 var dd = now.getDate(); //日 9 var hh = now.getHours(); //时 10 var ii = now.getMinutes(); //分 11 var ss = now.getSeconds(); //秒 12 var clock = yy + "-"; 13 if(mm < 10) clock += "0"; 14 clock += mm + "-"; 15 if(dd < 10) clock += "0"; 16 clock += dd + " "; 17 if(hh < 10) clock += "0"; 18 clock += hh + ":"; 19 if (ii < 10) clock += ‘0‘; 20 clock += ii + ":"; 21 if (ss < 10) clock += ‘0‘; 22 clock += ss; 23 document.write(clock); //获取当前日期 24 25 2.日期字符串转时间戳 26 27 var date = ‘2015-03-05 17:59:00.0‘; 28 date = date.substring(0,19); 29 date = date.replace(/-/g,‘/‘); 30 var timestamp = new Date(date).getTime(); 31 document.write(timestamp); 32 33 3.时间戳转日期字符串 34 35 var timestamp = ‘1425553097‘; 36 var d = new Date(timestamp * 1000); //根据时间戳生成的时间对象 37 var date = (d.getFullYear()) + "-" + 38 (d.getMonth() + 1) + "-" + 39 (d.getDate()) + " " + 40 (d.getHours()) + ":" + 41 (d.getMinutes()) + ":" + 42 (d.getSeconds()); 43 document.write(date);
why?
快捷精确的数据处理会给开发带来很大好处吗,不然你会花费更多的时间在这些处理上