1. 在Javascript中,不再区分整数和浮点数。所有数值都用64位浮点数表示,可表示的范围大到±1.7976931348623157×10^308(Number.MAX_VALUE),小到±5 × 10^−324(Number.MIN_VALUE)。在Javascript中通常的计算不需要对大数做特殊处理。
2. 在Javascript中,对溢出、除0等都能正常执行并且有定义好的返回值,而不会抛出错误(异常)。
2.1 如果计算结果超出了最大的可表示的数值,返回的计算结果是Infinity;如果计算结果超出了最小的可表示的数值,返回的计算结果是-Infinity。
var result1 = 1 / 0;
var result2 = -1 / 0;
console.log(result1 === Infinity); // true
console.log(result2 === -Infinity); // true
2.2 0除以0,或者进行算数计算的变量不是合法数值,则返回NaN。
var result1 = 0 / 0;
console.log(result1); // NaN
var result2 = 5 / "hello";
console.log(result2); // NaN
console.log(result1 === result2); // false
console.log(isNaN(result1)); // true
console.log(isNaN(result2)); // true
值得注意的是,NaN和包括NaN在内的任何值都不相等,也就是说NaN !== NaN。如果我们想判断一个计算结果是不是NaN,只能通过函数isNaN。
3.1 Javascript区分和单个的字符和字符串。单个的字符就是长度为1的字符串。
3.2 字符串可以用一对单引号或者一对双引号包围。被双引号包围的字符串可以包含单引号字符,同样被单引号包围的字符串可以包含双引号字符。例如:
var str1 = "I can't wait to learn Javascript.";
var str2 = 'He said: "Javascript is so good".';
console.log(str1); // I can't wait to learn Javascript.
console.log(str2); // He said: "Javascript is so good".
3.3 一个字符串可以分成几行。每一行必须以\结尾。例如:
var str = "<div> \
Learning Javascript \
</div>";
console.log(str); // <div> Learning Javascript </div>
3.4 字符串的内容是不可修改的。有些字符串的函数可以修改字符串的内容,当修改之后的内容在返回值中,原来字符串的内容仍保持不变。例如:
var str1 = "hello";
var str2 = str1.replace("h", "H");
console.log(str1); // hello
console.log(str2); // Hello