- JS区分大小写,HTML不区分大小写,在HTML中标签和属性名可大写可小写。
- 回车符和换行符解析为单行结束符。
- JS并不是在所有的换行处填补分号,只有在缺少了分号就无法正确解析代码的时候才填补分号。
- 如果当前语和下一行语句无法合并解析,JS会在第一行后填补分号。
- return,break,continue 后紧跟换行,JS会在其后填补分号,
即上述之后的表达式不能换行
。
- 只有null,undefined 是无法拥有方法的值。
- JS的整数有安全范围,如果超出,则无法保证低位的精度(与存储形式有关)。
- 对JS的实现,有些支持八进制,有些不支持,最好不要用0前缀的整数直接量。
- JS算术运算在上溢,下溢,除0时不会报错,对应Infinity,-0,NaN。
- 字符串是由一组16位值(utf-16)组成的不可变的有序序列。但也可能存在一个字符串长度为2表示一个字符,即该字符不是16位值。JS中定义的各式字符串操作均作用于16位值。
- null == undefined; // true
- 一个值能转换为另一个值并不意味着两个值相等:unfined == false; // false。
==
并不试图将操作数转为bool值。 - 对象转换
- 数组: 先调用toString,如果返回基本类型,转换成str;否则调用valueOf, 如果返回基础类型,转换成str, 否则报错。
- 数字: 先调用valueOf,如果返回基本类型,转换成num;否则调用toString,如果返回基本类型,转换成num,否则报错。