数值
JavaScript数值的特征
- 不区分整数值和浮点数值
- 所有数值均用浮点数值表示
- 采用IEEE-754标准定义的64位浮点数格式表示
算术运算
运算符
包括:+、-、*、/、%、**(指数操作符,ES6新增)
溢出(overflow)
当数值运算结果超过了JavaScript能表示的数值上限时发生。
结果为Infinity,若超过了负数范围,则为-Infinity。
基于±Infinity的加、减、乘、除等算术运算结果依然是±Infinity。
下溢(underflow)
当运算结果无限接近于零,并比JavaScript能表示的最小值还小时发生。
avaScript会返回0,若当一个负数发生下溢时,则返回-0。
被零整除
常用方法
toString( ),返回数值对象的字符串表示。
toLocaleString( ),返回数值对象的字符串本地表示。
valueOf( ),返回数值对象的原始数值。
toFixed(n),返回包含指定小数位数的数值字符串;其中,n表示小数位数。
toExponential(n),返回科学记数法表示的数值字符串;其中,n表示结果中的小数的位数。
toPrecision(n),返回数值最恰当的形式;其中,n表示结果中数字的总位数(不包含指数)。
本质上,它会根据数值和精度来确定调用toFixed( )还是toExponential( )。
为了正确的小数位精度表示数值,以上3个方法都会四舍五入
min( )与max( )
可以接收任意多个参数
let max, min;
max = Math.max(3, 33, 13, 43);
console.log(max);
min = Math.min(3, 33, 13, 43);
console.log(min);
let nums = [1, 2, 3, 4, 5, 6];
max = Math.max(...nums);
console.log(max);
布尔值
其他值转换为布尔值
转换方法
使用Boolean( )转换
隐式转换
let x = 100;
let y = null;
let z;
if (x) {
console.log(x);
}
if (y != null) {
console.log(y);
}
if (z) {
console.log(z);
}
字符串
字面量
由单引号或双引号括起来的字符序列。
单双引号可以嵌套,由最外围引号定界字符串。
字符串字面量可以拆分成数行,每行必须以反斜线(\)结束,且反斜线都不计入字符串的内容
let s = "this is a \
dog";
console.log(s);
在客户端JavaScript中,要注意与HTML代码混合搭配使用引号
<button onclick="alert('Hello world');">Hello</button>
转义字符
通用转义字符
通过十六进制数表示Latin-1或Unicode中的任意字码。
如:\xA9,表示Latin-1编码的版权符号。“\xA9”à”©”
如:\u03C0,表示Unicode编码的π字符。"\u03c0"à”π”
作为构造函数
通过new调用String()则会返回一个字符串对象
let x = 100;
console.log(typeof String(x));
console.log(typeof new String(x));
属性
length,返回字符串字符个数,即16位码的个数