1、新建各种元素
var arr = [],
obj = {},
str = '';
2、感叹号将非布尔值转为布尔值
var str = "abc"; console.log(!str); //false
需要将内容转换为相反的,则使用两个感叹号即可 (!!str // true)
3、双波浪号: 将内容转为数字,或小数取整(不是四舍五入)
var a = '123.9999';
~~a // 123
![](https://i-blog.csdnimg.cn/blog_migrate/0934a2d4c22714df7d987939e8a2f865.png)
4.解决jquery ajax调用远程接口的跨域问题(对于get 或者 post 均有效)
$.ajax({
type:'get',
url:url, // 下面的两行代码,就是解决跨域的关键
xhrFields: {withCredentials: true},
crossDomain: true,
success: function(data){ },
error: function(data){ }
});
5.字符串截取 str.substring(start, end) 截取位置start开始,到end前一位
str.substr(start, length)
6.数字保留小数点后N位
var num = 10/3;
~~(num*10000)/10000; //3.3333
7.创建一个随机整数
0~100的整数 ~~(Math.radom()*100)
8.尽量少的去操作DOM操作(循环append进dom ==> 临时字符串变量添加后一次性改变dom)
9. 判断是否为 Object 类型 let isObject = function(obj) { return obj !== null && typeof obj === 'object'; }
小结
- 命名一定要规范,不要尝试使用别人看不懂的命名.有时候,好的命名胜过一切.
- 如果逻辑很复杂,尝试把复杂的逻辑拆解成一个一个的小逻辑,这样能够更加好的解决问题和排查问题.
- 先用最笨的方法把效果实现了,然后再考虑优化代码.
- 注释.
- 耐心.
- 培养独立解决问题的习惯.