JavaScript学习笔记(1):隐性转换、值与引用、for-in与for-of、数组
隐性转换
笔记
NaN != NaN
boolean值在比较时会变为number
string和number比较时会变为number
null == undefined,其余任何值与null/undefined比较都为false
原始类型与引用类型比较,会调用toPrimitive方法,具体做法就是先valueOf后toString
我们在对各种非Number类型运用数学运算符(- * /)时,会先将非Number类型转换为Number类型
加法特殊:
当一侧为String类型,被识别为字符串拼接,并会优先将另一侧转换为字符串类型。
当一侧为String类型,被识别为字符串拼接,并会优先将另一侧转换为字符串类型。
当一侧为String类型,被识别为字符串拼接,并会优先将另一侧转换为字符串类型。
该三点由上到下,优先级从高到低
12> {} + {}NaN
这个问题的原因是,JavaScript 把第一个 {} 解释成了一个空的代码块(code block)并忽略了它。NaN其实是表达式+ ...