JavaScript 随笔
2021-05-19 06:30
标签:十六进制 不一致 undefined back 坚持 比较 结果 情况 name 由于JavaScript这个设计缺陷,最好不要使用 NaN === NaN; // false 转义字符 ASCII字符可以以 由于多行字符串用 JavaScript 随笔 标签:十六进制 不一致 undefined back 坚持 比较 结果 情况 name 原文地址:https://www.cnblogs.com/wrbxdj/p/9406567.html== 与 ===
==
比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;===
比较,它不会自动转换数据类型,如果数据类型不一致,返回false
,如果一致,再比较==
比较,始终坚持使用===
比较。NaN
NaN
这个特殊的Number与所有其他值都不相等,包括它自己:唯一能判断
NaN
的方法是通过isNaN()
函数:isNaN(NaN); // true
null和undefined
null
表示一个“空”的值,它和0
以及空字符串‘‘
不同,0
是一个数值,‘‘
表示长度为0的字符串,而null
表示“空”。undefined
,它表示“未定义”。JavaScript的设计者希望用null
表示一个空的值,而undefined
表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用null
。undefined
仅仅在判断函数参数是否传递的情况下有用。转义字符
\
可以转义很多字符,比如\n
表示换行,\t
表示制表符,字符\
本身也要转义,所以\\
表示的字符就是\
。\x##
形式的十六进制表示多行字符串
\n
写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用反引号 ` · ` 表示,反引号在键盘的ESC下方,数字键1的左边。 连接字符串
var name = ‘小明‘;
var age = 20;
var message = ‘你好, ‘ + name + ‘, 你今年‘ + age + ‘岁了!‘;
也可以:
var message = `你好, ${name}, 你今年${age}岁了!`;
null
、undefined
、0
、NaN
和空字符串‘‘
视为false
,其他值一概视为true
,因此上述代码条件判断的结果是true
。