JavaScript 随笔

== 与 ===

==比较,它会自动转换数据类型再比较,不少时候,会获得很是诡异的结果;javascript

===比较,它不会自动转换数据类型,若是数据类型不一致,返回false,若是一致,再比较java

因为JavaScript这个设计缺陷,最好不要使用==比较,始终坚持使用===比较。ruby

NaN

NaN这个特殊的Number与全部其余值都不相等,包括它本身:函数

NaN === NaN; // falsespa

惟一能判断NaN的方法是经过isNaN()函数:设计

isNaN(NaN); // truecode

null和undefined

null表示一个“空”的值,它和0以及空字符串''不一样,0是一个数值,''表示长度为0的字符串,而null表示“空”。regexp

undefined,它表示“未定义”。JavaScript的设计者但愿用null表示一个空的值,而undefined表示值未定义。事实证实,这并无什么卵用,区分二者的意义不大。大多数状况下,咱们都应该用nullundefined仅仅在判断函数参数是否传递的状况下有用。ip

转义字符 

转义字符\能够转义不少字符,好比\n表示换行,\t表示制表符,字符\自己也要转义,因此\\表示的字符就是\字符串

ASCII字符能够以\x##形式的十六进制表示

多行字符串

因为多行字符串用\n写起来比较费事,因此最新的ES6标准新增了一种多行字符串的表示方法,用反引号 ` · ` 表示,反引号在键盘的ESC下方,数字键1的左边。

 链接字符串

var name = '小明'; var age = 20; var message = '你好, ' + name + ', 你今年' + age + '岁了!';
也能够:
var message = `你好, ${name}, 你今年${age}岁了!`;

 

  • JavaScript把nullundefined0NaN和空字符串''视为false,其余值一律视为true,所以上述代码条件判断的结果是true
相关文章
相关标签/搜索