JavaScript中5个常见的陷阱

这里我们针对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]是两个不同的数组,只是它们的元素碰巧相同。因此,不能简单的通过===来判断。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值