JavaScript中的原始类型

JavaScript中的数据类型分为两类,原始类型(primitive type)和对象类型(object type)。JavaScript中的原始类型包括:数字,布尔值,字符串,以及null和undefined。

数字类型

和其他语言不一样,JavaScript不区分整数和浮点数。JavaScript中的所有数字都是用浮点数来表示的。
JavaScript中支持常见的算术表达式,如:加(+)减(-)乘(*)除(/)和求余(%),除此之外,JavaScript还支持更加复杂的运算,这些运算被封装在了Math对象的方法中,下面是Math对象常用的方法

方法名 含义
Math.pow(m,n) m的n次幂
Math.round(0.6) 四舍五入,结果为1
Math.ceil(0.6) 向上取整,结果为1
Math.floor(0.6) 向下取整,结果为0
Math.abs(-6) 取绝对值,结果为6
Math.max(x,y,z) 取最大值
Math.min(x,y,z) 取最小值
Math.random 生成一个0到1之间的伪随机数

关于四舍五入的错误

JavaScript在处理浮点数时,有时候会出现一些误差,例如:

console.log(0.6 - 0.5 == 0.5 - 0.4);
console.log(0.5 - 0.4 == 0.4 - 0.3);
console.log(0.4 - 0.3 == 0.3 - 0.2);

上面的三个表达式的输出分别为:true,false,false,这就希望开发者在处理浮点数时要额外小心,可以考虑手动做一些处理

console.log((0.4 - 0.3).toFixed(1) == (0.3 - 0.2).toFixed(1));

上面的代码使用toFixed()方法后,输出的是true。

字符串类型

和大多数编程语言一样,JavaScript中的字符串类型是不可变的。

var str = 'hello,world'

上面的代码声明了一个字符串直接量。如果想声明一个多行的字符串直接量,则需要在每行结束时加入反斜杠(\)

var str = "hello,\
world\
!";

上面的变量str的值是“hello,world!”。

字符串之间可以通过加号(+)来进行拼接,例如:

var str = 'hello,'+'world'+'!';

字符串常用方法

var s = ‘hello,world’;

方法名 含义
s.charAt(0) 获取索引为0的字符,此处返回’h’
s.substring(1,4) 从索引位置截取子串,此处返回’ell’
s.slice(1,4) 同上,返回’ell’
s.slice(-3) 取最后三个字符,此处返回’old’
s.indexOf(‘l’) 第一次出现字符l的位置,此处返回2
s.lastIndexOf(‘l’) 最后一次出现字符l的位置,此处为9
s.split(‘,’) 用字符’,’来将字符串分隔为数组,此处返回数组[‘hello’,’world’]
s.replace(‘h’,’H’) 将’h’替换为’H’,此处返回’Hello,world’
s.toUpperCase() 返回大写的形式,此处返回’HELLO,WORLD’

布尔类型

布尔类型一般用来表示真或假,开或关,是或否等,这个类型只有两个值,分别是true和false,这两个也是JavaScript中的保留字。
任意一个JavaScript类型都可以转换为一个布尔值,转换的规则是,只有下面这六个值会被转换为false,其它所有的值都会转换为true,这六个值分别是:
undefined,null,0,-0,NaN,”“(空字符串)
如下面的代码:

var data={a:'a',b:'b'};
if(data){
    console.log('done');
}

上面的代码中,data会转换为true,if代码段会被执行

你可能感兴趣的:(JavaScript中的原始类型)