前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初学js钻太深,不太好

初学js钻太深,不太好

作者头像
web前端教室
发布2018-02-07 11:58:38
5200
发布2018-02-07 11:58:38
举报
文章被收录于专栏:web前端教室web前端教室

其实我个人觉得新手不太应该追求彻底的学透每一个知识点。因为初学的时候,钻的太深并不太利于对JS有一个整体的理解。反而有可能钻牛角尖。但这种方法和心态却是必须有的。所以,有时也矛盾,自己掌握吧。

学透一个知识点的关键,我认为就是求甚解,“到底是为什么”?

在掌握全局的基础上,一定程度的求甚解,我认为是一种很好的学习方法。

例如,== 和 ===,到底有什么区别?什么时候该用双=或三=?

先说结论,一般情况下都应该使用===,因为这样就没有JS的自动转换了,效率会好些。但只有在检测 null 或是 undefined的时候,就可以使用 == 就可以了,因为它转换也是null 或 undefined。而且很多时候,是不怎么区别 null 和 undefined的。

双=,就是 == ,有时看着方便,if( a == b ),如果:

a的值是1;b的值是'1',这样比对的时候,a和b的值其实并不相等,但你 == 这样比较,就很可能造成直接转换了,使得比较结果相等。而这种BUG是很难查出来的。

另外还有一个问题,有时会这样设置变量:var a = b = c,也许人的直觉会认为a = c了,但其实不是这样的。这个句子,只是声明了一个局域变量a,另外 的b 和c ,其实是全局变量,如果这种情况下,你直接用 == 去比较,十有八九会有问题。

最后为了求甚解,看一个小例子:

1 == false // false
'1' == false // false
1 == '1' // true
1 === '1' // false

你该怎么理解呢?自己想想吧

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档