随笔分类 - js
摘要:判断数组是否存在某个值: Array.indexOf(val) > -1 //存在 (缺陷:一是不够语义化,它的含义是找到参数值的第一个出现位置,所以要去比较是否不等于-1,表达起来不够直观。二是,它内部使用严格相等运算符(===)进行判断,这会导致对NaN的误判。) Array.includes(val) 判断对象是否存在某个字段: obj["key"] != undefined ...
阅读全文
摘要:因为后端需要用到cookie做一些判断,所以在post请求前先写入了cookie。在页面未登录时,调接口能带上cookie,登录后的请求没有携带cookie,但是能看到cookie已经保存了。 (axios.defaults.withCredentials = true 配置了并没有用) 对比登录前后,发现是cookie路径的问题。如下: 登录之前的cookie一直保存在/下面,但是登录...
阅读全文
摘要:使用async-validator库,校验数据是否合法,并且根据校验规则给出提示信息。 https://github.com/yiminghe/async-validator 必填不能为空 {"required": true, "message": "请输入内容","trigger": "blur"}, 下拉框、单选框、复选框等用trigger: 'change' 输入框、文本域判断...
阅读全文
摘要:读阮一峰《ECMAScript 6 入门》小结,http://es6.ruanyifeng.com/ 1. ES6简介 Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码 在线转换:https://babeljs.io/repl/ 2. let和const命令 let在块级作用域内有效,var有变量提升(变量可以在声明之前使用,值为undefined),...
阅读全文
摘要:8. 数组的扩展 扩展运算符(...),将一个数组转为用逗号分隔的参数序列。 复制数组 const a2=[...a1] 合并数组 [...arr1, ...arr2, ...arr3]; arr1.concat(arr2, arr3);// ES5 的合并数组 这是浅拷贝,如果修改了原数组的成员,会同步反映到新数组。 替代函数的 apply 方法 // ES6 的写法 let arr1 ...
阅读全文
摘要:项目中常用的取时间的方法 util/date-util.js const oneDay = 86400000;//一天1000*60*60*24毫秒 //格式化日期 function formatDate(date,zw=false) { let y = date.getFullYear(), m = date.getMonth() + 1, d = date.getD...
阅读全文
摘要:数组的遍历 for循环 for(var j = 0,len = arr.length; j { console.log(value+","+index) }) 补充 for-of // for-of遍历数组,不带索引,i即为数组元素 for(let i of arrTmp){ console.log(i) } //输出 "v...
阅读全文
摘要:数组转字符串 var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); //"0-1-2-3-4" 字符串转数组 var s = "abc,abcd,aaa"; ss = s.split(",");// 在每个逗号(,)处进行分解 ["abc", "abcd", "aaa"] var s1 = "helloworld"; s...
阅读全文
摘要:ES6 是模板语言 var 定义的变量有变量提升(把变量提到代码第一行),声明的变量有内存泄露,没有被销毁 let 是块级作用域 const 定义常量,不能被改变 const b={a:1};//object地址,有内存 b.a=2; 内存地址不能改变,里面的值可以改变 var、function 有变量提升,let、const没有 console.log(a);//undefined ...
阅读全文
摘要:循环比较 var a=[1,2,3,2]; var b=[]; for(var i=0;i<a.length;i++){ var k=false; for(var j=i+1;j<len;j++){ if(a[i]==a[j]){ k=true; break; } } if(!k) {...
阅读全文
摘要:宗旨:提高合作和代码质量,不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的。 ♦ 针对 HTML5 doctype 排版规则 缩进 1个TAB=4个空格 - 所有的代码都用小写字母 行尾空格没必要存在 HTML 不要在自闭合(self-closing)元素的尾部添加斜线 -- HTML5 规范中明确说明这是可选的。常见无需自闭合标签有 input、br...
阅读全文
摘要:json 键值对增加、删除 obj.key='value'; // obj.key=obj[key]=eval("obj."+key); delete obj.key; vue中新增和删除属性 this.$set(object,key,value) this.$delete( object, key ) 触发视图更新 遍历键值 for (var key in data) { ...
阅读全文
摘要:localStoragelocalStorage可以将第一次请求的数据直接存储到本地,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小(不同的浏览器有所不同)。 localStorage的局限 1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性 2、目前所有的浏览...
阅读全文
摘要:安装Mongoose 创建model //server/models/goods.js var mongoose = require('mongoose');//优先到node_modeles里加载 var Schema = mongoose.Schema;//定义模型 var productSch
阅读全文
摘要:基于Chrome V8引擎 单线程 使用JavaScript开发后端代码 非阻塞的IO common规范 common一定是通过module.exports={}输出 创建Http Server node demo.js //文件demo.js let http=require('http');//
阅读全文

浙公网安备 33010602011771号