请教JavaScript问题几个

2012-08-23 19:39:11 +08:00
 alanerzhao
第一个
null == undefined
[] == ![]

像这样的题我一直不知道怎么思考,是涉及到运算符和类型转换吗?
请详解,或资料,谢谢大家,我也在查找中…………
3677 次点击
所在节点    程序员
15 条回复
Air_Mu
2012-08-23 19:49:31 +08:00
这不就是JS一些臭名昭著的地方么
NemoAlex
2012-08-23 20:09:14 +08:00
@Air_Mu JavaScript 不好的设计并不是这些
其实弱类型语言里这些都是非常好的特性,可以让我们很方便地判断一个变量是否存在有效值
如果要明确判断的话可以用三个等号
例如 null === undefined 的返回值就是 false
NemoAlex
2012-08-23 20:15:54 +08:00
楼主的需求是要做题目啊
这样的话,只需要记住各种类型的空变量在做类型判断的时候会被解释成 false 就可以了
Hyperion
2012-08-23 20:17:18 +08:00
http://www.ilovejs.net/archives/190
围观这张表... 你就懂了...
Hyperion
2012-08-23 20:18:47 +08:00
@NemoAlex 总结的好... = =
alanerzhao
2012-08-23 21:26:51 +08:00
@Hyperion 谢谢
j1anb1n
2012-08-23 22:41:19 +08:00
呃,其实不用管这么多啊。
从来不用==的,只用===,然后NULL也不怎么用,你只要记得if(x)时,哪些x会被当作false就好了。

@Air_Mu 这个不是JS臭名昭著的地方...this什么的才是。其实js很不错的,我很喜欢~
Hyperion
2012-08-24 04:25:05 +08:00
@j1anb1n 不喜欢===这种用法,感觉略丑…… @ω@
acecode
2012-08-24 21:56:03 +08:00
@Hyperion ===没有类型转换,效率会高一些
Hyperion
2012-08-25 06:47:38 +08:00
@acecode 就是因为很少把不同类型的对象拿来比的原因...
dingstyle
2012-08-25 17:20:01 +08:00
@j1anb1n this也是js精华之一啊,在文法作用域基础上添加了动态绑定特性,让语言灵活性增加了不少
j1anb1n
2012-08-25 18:36:33 +08:00
@dingstyle 那是啊!我倒觉得很赞呢,其实用清楚了很不错的!
j1anb1n
2012-08-25 18:38:37 +08:00
@Hyperion 呃...我现在觉得==好丑...( ̄▽ ̄)
dongbeta
2012-08-25 18:45:15 +08:00
唉,看着楼主自己走向自我毁灭⋯⋯
crapthings
2012-08-25 22:34:41 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/45879

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX