2018-01-11

If(xx)

1 题目1:如下代码输出什么?
 2 if ("hello") {
 3     console.log("hello")
 4 } //true
 5 
 6 // 题目2:如下代码输出什么?
 7 if ("") {
 8     console.log('empty')
 9 }//false
10 
11 // 题目3:如下代码输出什么?
12 if (" ") { 13     console.log('blank') 14 }//true
15 // 题目4:如下代码输出什么?
16 if ([0]) { 17     console.log('array') 18 }//true
19 
20 if('0.00'){ 21   console.log('0.00') 22 }//true
23 
24 if(+0.00){ 25    console.log('haha') 26 }//false +转换为数字
27 
28 if([]){ 29    console.log('haha') 30 }//turn</pre>

==的判断

1 "" == 0  //题目1
 2 " " == 0  //题目2
 3 "" == true  //题目3
 4 "" == false  //题目4
 5 " " == true  //题目5!
 6 " " == true  //题目6
 7 !" " == false  //题目7
 8 "hello" == true  //题目8
 9 "hello" == false //题目9
10 "0" == true  //题目10
11 "0" == false  //题目11
12 "00" == false  //题目12
13 "0.00" == false  //题目13
14 undefined == null  //题目14
15 true == true  //题目15
16 [] == true  //题目16
17 var obj = { 18   a: 0, 19   valueOf: function(){return 1} 20 } 21 obj == "[object Object]"  //题目17
22 obj == 1  //题目18
23 obj == true  //题目19</pre>

解密

x y 结果
null undefined true
Number String x == toNumber(y)
Boolean (any) toNumber(x) == y
Object String or Number toPrimitive(x) == y
otherwise otherwise false

toNumber

type Result
Undefined NaN
Null 0
Boolean ture -> 1, false -> 0
String “abc” -> NaN, “123” -> 123

toPrimitive

对于 Object 类型,先尝试调用 .valueOf 方法获取结果。 如果没定义,再尝试调用 .toString方法获取结果

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《学会提问》(浥芝的读书笔记) (美)尼尔.布朗 斯图尔特.基利 著 前言 A、很多人不知道怎么提关键问题...
    乐浥阅读 480评论 0 0
  • 054|资产配置与保险|解密大保单销售 保险产品而拥有的。计划的最终指向是让客户尽快获得保险保障,确 保买对了保险...
    冰肖阅读 299评论 0 0
  • 提高代码编写效率,离不开快捷键的使用,Webstorm拥有丰富的代码快速编辑功能,你可以自由配置功能快捷键。 快捷...
    泰格先森阅读 316评论 0 1
  • 单位里新来个小姑娘,娃娃脸,厚刘海,大眼睛。天天蹦蹦跳跳,一惊一乍的,特别爱笑,笑声清脆,感染力极强。 小姑娘跟小...
    清风明月7773阅读 539评论 0 1
  • 两年不到的时间,经过了坎坎坷坷我终于拿到了这个 从一开始就老爸求人从交警队批的票,再到后来找人学车,早上4点多练车...
    包逗豆DoubleD阅读 225评论 0 0