基本引用类型
- 数值类型(number)
- 布尔类型(boolean)
- 字符串类型(string)
原始值和引用值
原始值:表示单一的数据,如:10,“abc”,true
引用值:表示有多个值构成的对象
- 动态属性
原始值是不可以改变的
引用值可以随时添加、修改和删除其属性和方法
- 值传递
原始值于与引用值本质上是没有区别的,都是将一个变量中保存的信息复制给另一个变量
例:
let a=100;
let b=a;
b++;
console.log(a,b)//a=100,b=101
<---------------------->
let obj1={value:100};
let obj2=obj1;
obj2.value=200;
console.log(obj1.value,obj2.value)//200 200
- 确定类型
通过typeof可以确定其变量类型,但是对于引用值来说意义不大。可以用instanceof操作符来判断引用值是否为某个构造函数的实例
一、数值类型
-
整数直接量
除十进制外,JS能识别十六进制(0X开头)、二进制(0B开头)、八进制(0o开头) -
浮点数直接量
实数写法:由整数部分、小数点和小数部分组成
指数计数法:在实数部分后跟字母e或E,再跟正负号,在跟一个整数的指数
Number常用方法
toString(),返回数值对象的字符串表示
toLoaclString(),返回数值对象的字符串本地表示
valueOf(),返回数值对象的原始数值
toFixed(n),返回包含指定小数位数的数值字符串(其中n表示小数位数)
toExponential(n),返回科学计数法表示的数值字符串(其中n表示结果中的小数位数)
toPrecision(n),返回数值最恰当的形式(其中n表示结果中数字的总位数) -
Number.isFinite()
用于检查一个数值是否有限 -
Number.isNan()
用于检查一个数是否是NAN -
Number.isInteger()
用于判断一个数是否是整数 -
Number.EPSILON()
常量,表示1与大于1的最小浮点数之间的差
二、布尔类型
布尔值的值分为true和false
常用于if/else结构、while判断结构、for循环结构
转换方法:使用Boolean()转换
隐式转换