100
100.001
5e3 ==> 5乘以10的三次方
Infinity
:表示无穷
+Infinity
正无穷-Infinity
负无穷NaN
:表示不是合法数字的数值类型(not a number)
NaN
与任意数据进行运算结果都是NaN
0b
开头的是二进制数
0b11 ==> 3
0o
或0
开头的是八进制数
0o12 ==> 10
0x
开头的是十六进制数
0x11 ==> 17
${}
中
qwe${变量}rty
${}
中可以书写一些简单的表达式\
在字符串中具有转义的含义,是字符串中的转义符,会将\
后面的内容进行转义true
在计算机中按1存储,表示真false
在计算机中按0存储,表示假undefined
undefined
null
null
,值才为null
typeof 数据
typeof(数据)
'number'
'string'
'boolean'
'undefined'
'object'
// typeof 数据 与 typeof(数据) 的区别
var r1 = typeof 10 + 10;
// 由于运算符存在优先级问题,会先执行 typeof 10 ==> 'number'
// 然后再执行 'number' + 10 ==> 'number10'
var r2 = typeof(10 + 10);
// 由于运算符存在优先级问题,会先执行 (10 + 10) ==> 20
// 然后再执行 typeof 20 ==> 'number'
console.log(r1); // 'number10'
console.log(r2); // 'number'
// typeof连用的返回值一定是'string'
var r = typeof typeof 100;
// typeof 100 ==> 'number'
// typeof 'number' ==> 'string'
console.log(r); // 'string'
// typeof检测没有声明的变量不会报错而是返回'undefined'
console.log(typeof n); // 'undefined'
console.log(n); // 报错:n is not defined
Number(数据)
NaN
true
返回数值1
false
返回数值0
null
返回数值0
undefined
返回数值NaN
console.log(Number('12')); // 12
console.log(Number('12.1')); // 12.1
console.log(Number('.12')); // 0.12
console.log(Number('12a')); // NaN
console.log(Number('12.1.1')); // NaN
// 特殊的数据
console.log(Number(true)); // 1
console.log(Number(false)); // 0
console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
parseInt(数据)
NaN
console.log(parseInt('a1234')); // NaN
console.log(parseInt('12a34')); // 12
console.log(parseInt('12.666')); // 12
console.log(parseInt(10.111)); // 10
// 特殊的数据
console.log(parseInt(true)); // NaN
console.log(parseInt(false)); // NaN
console.log(parseInt(null)); // NaN
console.log(parseInt(undefined)); // NaN
parseFloat(数据)
parseInt
的转换过程一模一样,区别是parseFloat
可以识别一位小数点console.log(parseFloat('a1234')); // NaN
console.log(parseFloat('12a34')); // 12
console.log(parseFloat('12.34')); // 12.34
console.log(parseFloat('192.168.1.1')); // 192.168
// 特殊的数据
console.log(parseFloat(true)); // NaN
console.log(parseFloat(false)); // NaN
console.log(parseFloat(null)); // NaN
console.log(parseFloat(undefined)); // NaN
注意:以上方法不会改变原数据
String(数据)
var n = 100;
console.log(String(n)); // '100'
console.log(typeof String(n)); // 'string'
// 特殊的数据
console.log(String(true)); // 'true'
console.log(String(false)); // 'false'
console.log(String(null)); // 'null'
console.log(String(undefined)); // 'undefined'
console.log(String(NaN)); // 'NaN'
数据.toString()
undefined
和null
数据不能使用此方法,会报错
undefined
和null
身上没有任何属性与方法var n = 100;
console.log(n.toString()); // '100'
console.log(typeof String(n)); // 'string'
// 此处的第一个点会被识别为小数点,在js中的数字中的点默认为小数点
console.log(100.toString()); // 报错
// 第一个点识别为小数点,第二个点是语法的点
console.log(100..toString()); // '100'
// 报错:Cannot read properties of undefined (reading 'toString')
console.log(undefined.toString());
// 报错:Cannot read properties of null (reading 'toString')
console.log(null.toString());
// 特殊的数据
console.log(true.toString()); // 'true'
console.log(false.toString()); // 'false'
console.log(NaN.toString()); // 'NaN'
注意:以上方法不会改变原数据
Boolean(数据)
false
,其余的都是true
0
NaN
''
undefined
null
false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean('')); // false
console.log(Boolean(undefined)); // false
console.log(Boolean(null)); // false
console.log(Boolean(false)); // false
// 除了以上的数据转换结果为false其他任何数据转换结果都为true
注意:以上方法不会改变原数据