Javascript类型
- Number
- String
- Boolean
- Symbol(符号) (ES2015新增)
- Object: Function/Array/Date/RegExp(正则表达式)
- null
- undefined(未定义)
内置类型:Error(错误)
数字类型
在JavaScript(除了BigInt)当中,并不存在整数/整型(Integer)
注意以下场景:
console.log(3/2); // 1.5
console.log(Math.floor(3/2)); // 1
console.log(0.1 + 0.2) // 0.30000000000000004
JavaScript 支持标准的算术运算符,包括加法、减法、取模(或取余)等,内置对象 Math(数学对象),用以处理更多的高级数学函数和常数
console.log(Math.sin(3.5)) // -0.35078322768961984
var r = 2
var a = 2 * Math.PI * r
console.log(a) // 12.566370614359172
内置函数 parseInt() 将字符串转换为整型。该函数的第二个可选参数表示字符串所表示数字的基(进制)
console.log(parseInt("123",10)) // 123
console.log(parseInt("010",10)) // 10
0x开头的字符串则视为十六进制数字
console.log(parseInt("0x10")) // 16
内置函数 parseFloat(),用以解析浮点数字符串,只应用于解析十进制数字
单元运算符 + 也可以把数字字符串转换成数值:
- “42”; // 42
- “010”; // 10
- “0x10”; // 16
parseInt("hello", 10); // NaN
NaN 作为参数进行任何数学运算,结果也会是 NaN:
NaN + 5; //NaN
内置函数 isNaN() 来判断一个变量是否为 NaN:
isNaN(NaN); // true
三者区别:
console.log(parseInt("10.2adc")) // 10
console.log(parseFloat("10.2adc")) // 10.2
console.log(+ "10.2adc") // NAN
字符串类型
JavaScript 中的字符串是一串 Unicode 字符序列
字符串的 length(编码单元的个数)属性,可以得到它的长度
"hello".length; // 5
JavaScript String 对象方法
charAt() 方法可返回指定位置的字符。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串
例子:
var str="Hello world!"
document.write(str.charAt(1)) // e
其他类型
JavaScript 中的 null 表示一个空值(non-value),必须使用 null 关键字才能访问。
undefined 是一个“undefined(未定义)”类型的对象,表示一个未初始化的值,也就是还没有被分配的值。
JavaScript 允许声明变量但不对其赋值,一个未被赋值的变量就是 undefined
类型;undefined` 实际上是一个不允许修改的常量。
JavaScript 按照如下规则将变量转换成布尔类型:
false
、0
、空字符串(""
)、NaN
、null
和undefined
被转换为false
- 所有其他值被转换为 true