美文网首页
JS数据类型和转换

JS数据类型和转换

作者: 前端咸蛋黄 | 来源:发表于2019-03-02 21:35 被阅读0次

一、简介

JS共有7种数据类型:Undefined,Null,Boolean,Number,String,Symbol(新增),Object

typeof 操作符

二、数据类型

(一)String

JS的字符串仅支持两个字节的字符,如果字符字节大于2,会被认为是两个字符。比如“𝌆”。

"𝌆".length  //2

(二)Number

1. 整数和浮点数

JS 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心。

0.1+0.2  //0.30000000000000004
(0.1+0.2).toFixed(1)  //0.3
2. 数值精度

精度最多只能到53个二进制位,绝对值小于2的53次方的整数,即-253到253,都可以精确表示。

3. 数值范围

JavaScript 能够表示的数值范围为21024到2-1023(开区间)
如果超出范围,就会返回Infinity。

4. 数值的进制
  • 十进制:没有前导0的数值。
  • 八进制:有前缀0o或0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值。
  • 十六进制:有前缀0x或0X的数值。
  • 二进制:有前缀0b或0B的数值。
5. 特殊数值

JS可以用科学记数法表示数字

3.125e7   //31250000
3e-7   //0.0000003

NaN是 JavaScript 的特殊值,表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合。

5 - 'x'  //NaN
isNaN(5 - 'x')  //true

Infinity表示无穷

(三)Boolean

布尔值代表“真”和“假”两个状态。“真”用关键字true表示,“假”用关键字false表示。布尔值只有这两个值。
在JS中,Boolean()为false的值有:

0  //NaN
NaN  //NaN
""  //NaN
undefined  //NaN
null  //NaN

(四)Symbol

对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。

var person = {zzy:"sb",aka:"sb"}
person.zzy == person.aka  //true
var person = {zzy:Symbol("sb"),aka:Symbol("sb")}
person.zzy == person.aka  //false

(五)Undefined

undefined表示“未定义”

(六)Null

null表示空值,即该处的值现在为空。调用函数时,某个参数未设置任何值,这时就可以传入null,表示该参数为空。

(七)Object

1. 属性的读取与赋值
  • object['key']
  • object.key
2. 属性的删除
  • delete object['key']
3. 属性是否存在:in 运算符
  • 'key' in object
4. 属性的遍历:for...in 循环

三、数据类型的转换

(一)String
  • String(x)
  • x.toString(10)
  • x + ""
(二)Number
  • Number(x)
  • parseInt(x, 10) MDN
  • parseFloat(x) MDN
  • x - 0
  • +x
(三)Boolean
  • Boolean(x)
  • !!x

四、复制变量值

基本类型的值在内存中占据固定大小,因此被保存在栈内存中,从一个变量向另一个变量复制基本类型的值,会创建这个值的副本。



引用类型的值是对象,保存在堆内存中,从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向一个对象。


相关文章

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • 基本语法

    js的基本数据类型 类型转换 Global 和 Math

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • JS的基本小结

    JS基本输出方式 JS数据类型 变量 常量 变量常量小练习 声明提前 隐式转换 显示转换/强制转换

  • JS数据类型转换(2)

    在上一篇的js数据类型转换(1)中,只考虑了基础数据类型之间的相互转换,未考虑对象和基础类型的转换,本篇做介绍。 ...

网友评论

      本文标题:JS数据类型和转换

      本文链接:https://www.haomeiwen.com/subject/bgbyuqtx.html