首页 > 其他分享 >js数值类型

js数值类型

时间:2024-09-18 22:35:29浏览次数:1  
标签:数字 对象 数值 js 数组 类型 函数

目录

背景

JavaScript的数据类型分为两类,原始类型(primitive type)和对象类(object type)

js中的原始类型包括数字,字符串,布尔值

js中有两个特殊的原始值: null(空)和undefined(未定义).它们代表了各自特殊类型的唯一成员

对象类是属性(property)的集合,每个属性都由"key/value".其中有一个比较特殊的对象----全局对象(global object)

js同样定义了一种特殊对象--数组(array),表示带有编号的有序集合

js还定义了特殊的对象----函数,函数是真值,并且js将它们当作普通对象对待

如果函数用来初始化(使用new运算符)一个新建的对象,则称为构建函数(constructor)

每个构造函数定义了一类(class)对象----由构建函数初始化的对象组成的集合

类可以看作是对象类型的子类型

除了数组和函数外,js定义了其他三种有用的类

代表日期的对象

Date

表示正则表达式

RegExp

错误

Error

js解释器有自己的内存管理机制,可以自动对构建的内存进行垃圾回收(garbage collection).这意味着程序可以按需创建对象,当不再有任何引用指向一个对象,解释器会回收它所占用的资源

假设我们有一个数组 a,其元素可以通过数组本身的方法来操作,而不是通过全局函数来处理

let a = [3, 1, 4, 1, 5, 9];
a.sort();  // 调用数组对象的 sort() 方法
console.log(a);  // 输出: [1, 1, 3, 4, 5, 9]

只有js对象才能拥有方法,数字,字符串,布尔值也可以拥有自己的方法.

js中只有nullundefined无法拥有方法的值

js可以分为拥有方法的类型和不拥有方法的类型
同样可分为可变类型不可变类型

可变类型: 对象,数组 js程序可以更改对象属性值和数组元素值

不可变类型: 数字,布尔值,null,undefined,字符串属于不可变类型

字符串可以看作是由字符组成的数组,但是在js中字符串不可变

js可以自由地进行数据类型转换

js的变量是无类型的,变量可以是任何值,同一个变量可以重复赋予任何值

使用var声明变量,js使用词法作用域

不在任何函数内声明的变量叫做全局变量,在任何js程序中可见

函数内部声明的变量具有函数作用域,并且只在函数内可见

数字

js不区分整数和浮点数,均用浮点数表示

当一个数字出现在js中,称为数字直接量
js支持多种格式的数字直接量,负号是一元求反运算符

整型直接量

在js中,用一个数字序列表示10进制整数

0
3
10000

十六进制是以0x0X为前缀,其后为十六进制数字的直接量

0xff // 15*16 + 15 = 255 (十进制)
0xCAFE911

八进制直接量以数字0开始,其后跟随一个由0~7(包括0和7)之间的数字组成
ECMAScript 6的严格模式下,八进制直接量是禁止的

0377 // 3*64 + 7*8 + 7 = 255 (十进制)

浮点型直接量

浮点型直接量可以含有小数点,它们采用的是传统的实数写法。一个实数由整数部分、小数点和小数部分组成

还可以使用指数记数法表示浮点型直接量,即在实数后跟字母e或E,后面再跟正负号,其后再加一个整型的指数。这种记数方法表示的数值,是由前面的实数乘以10的指数次幂

[digits][.digits][(E|e)[(+|-)]digits]
3.14
2345.789
.333333333333333333
6.02e23          // 6.02×1023
1.4738223E-32 // 1.4738223×10-32

JavaScript中的算术运算

标签:数字,对象,数值,js,数组,类型,函数
From: https://www.cnblogs.com/anyux/p/18419488

相关文章