这里我们针对JavaScript初学者给出一些技巧和列出的一些陷进。如果你是一个砖家,也可以读一读。
1.你是否尝试过对数组元素进行排序?
JavaScript默认使用字典排序(alphanumeric)来排序。
因此,[1,2,5,10].sort()的结果是[1,10,2,5]。
如果你想正确的排序,应该这样做:[1,2,5,10].sort((a,b)=>a-b)
2.new Date()十分好用
new Date()的使用方法有:
· 不接受任何参数:返回当前时间;
· 接受一个参数x:返回1970年1月1日+x毫秒的值。
· new Date(1,1,1)返回1901年2月1日。
· 然而···,new Date(2016,1,1)不会在在1900年的基础上加上2016,而只是表示2016年。
3.替换函数没有真的替换?
let s="bob"
const replaced=s.replace('b','l')
replaced = = ="lob"//只会替换掉第一个b
s= = ="bob"//并且s的值不会变
如果你想把所有的b都替换掉,要使用正则表达式:
"bob".replace(/b/g,"l")=='lol'
4.数组不是基础类型
typeof {}==='object' //true
typeof 'a'==='string' //true
typeof 1 ===number//true
//但是....
typeof []==='object'//true
如果要判断一个变量var是否是数组,你需要使用Array.isArray(var)。
5.谨慎对待比较运算
//这些可以
'abc' ==='abc'//true
1===1//true
//然而这些不行
[1,2,3]===[1,2,3]//false
{a:1}==={a:1}//false
{}==={}//false
因为{1,2,3}和[1,2,3]是两个不同的数组,只是它们的元素碰巧相同。因此,不能简单的通过===来判断。