美文网首页
数据类型

数据类型

作者: Devour_z | 来源:发表于2017-06-18 00:08 被阅读0次

一.基本数据类型:Undefined、Null、Boolean、Number、String#

[1]基本类型值是指简单的数据段,5种基本类型是按值访问的,因为可以操作保存在变量中的实际值
[2]基本类型的值在内存中占据固定大小的空间,被保存在栈内存中。从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本。
[3]不能给基本类型的值添加属性

1.Undefined###

Undefined类型只有一个值,就是undefined.
出现场景:
[1]已声明未赋值的变量
[2]获取对象不存在的属性
[3]无返回值的函数的执行结果
[4]函数的参数没有传入
[5]void(expression)

2.Null###

Null类型只有一个值,就是null,逻辑角度看,null值表示一个空对象指针
实际上undefined值是派生自null值的,所以undefined == null
null不能添加自定义属性
出现场景:对象不存在时

3.Boolean###

Boolean类型只有两个值:true 和 false
出现场景:
[1]条件语句导致系统执行的隐士类型转换
[2]字面量或变量定义

4.Number###

数值表示:
[1]js中可以保存正0和负0,且被认为相等
[2]浮点数值:该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。
(1)由于浮点型数值需要的内存空间是保存整数值的两倍,因此js会不失时机地将浮点数值转换成整数值,若小数点后没有跟任何数字或者浮点值本身表示的就是一个整数,这个数值会作为整数值来保存。a=1.00 console.log(a) 1
(2)浮点数值的最高精度是17位小数
(3)对于极大或者极小的数,可以用科学计数法e来表示的浮点数值来表示
(4)默认情况下,js会将小数点后面带有6个0以上的浮点数值转换为以e表示法表示的数值
(5)基于IEEE754数值的浮点计算的通病是舍入误差的问题。如:0.1+0.2 === 0.3(15个0)4
[3]js中的数值范围是Number.MIN_VALUE(5e-324) —— Number.MAX_VALUE(1.7976931348623157e+308)
(1)如果超出正数范围,输出Infinity(正无穷大),超出负数范围,输出-Infinity(负无穷大)
(2)+-Infinity不能参与数值计算
(3)Number.MAX_VALUE+1 != Infinity,因为计算机最多保存52位尾数位,保存不了1000多位,早就失去精度,即小数位全为0,所以相加不变
(4)Number.MIN_VALUE - 1 != -Infinity,也是同样的原因,所以结果为-1
(5)可以用isFinite()来确定一个数值是不是有穷的,包含着隐式类型转换 布尔值Number()
(6)isFinite(NaN) //false
[4]NaN
(1)NaN与任何值都不相等,包括NaN本身
(2)任何涉及NaN的操作都会返回NaN
(3)isNaN()来判断这个数字是不是NaN,包含着隐式类型转换Number()
[4]数值转换:Number()可用于任何类型,parseInt()和parseFloat专门用于把字符串转换成数值

4.String###

[1]toString()
Null和Undefined没有该方法
Boolean、Object、String有该方法
Number使用该方法可以传递基数2、8、10、16,如var num = 10;num.toString(2);//1010
但10.toString(2)会报错,因为数字后面不能跟标识符
[2]String()
String(null);//'null'
String(undefined);//'undefined'

二.引用数据类型:Object#

[1]引用类型值是指那些可以由多个值构成的对象。js不允许直接访问内存中的位置,也就是不能直接访问操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象。
[2]引用类型的值是对象,保存在堆内存中,包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针。从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向同一个对象。
[3]对于引用类型的值,可以为其添加属性和方法,也可以改变和删除其属性和方法

相关文章

  • JAVA 之路第一讲

    数据类型: 基础数据类型 包装器数据类型 引用数据类型 null 数据类型 基础数据类型: 整型 byte(字节型...

  • php 数据类型和数据类型转化

    一、数据类型 基础数据类型 复合数据类型 特殊数据类型 二、获取数据类型 三、打印数据类型和值 四、数据类型判断 ...

  • OC和C中的数据类型

    数据类型对比 C语言数据类型C语言数据类型 OC数据类型

  • JAVA 核心笔记 || [2] 数据类型

    JAVA数据类型分为两大数据类型: 1.内置数据类型2.引用数据类型 内置数据类型 引用数据类型 上篇 : 开篇 ...

  • 数据类型

    数据类型作用:数据类型不同,空间大小不同。 数据类型分类:基本数据类型、引用数据类型基本数据类型:整数型、浮点型、...

  • Java知识之数据类型

    Java数据类型图表## Java数据类型分为:### 基础数据类型 引用数据类型 null类型 基础数据类型分別...

  • JAVA基础第四天

    JAVA数据类型---布尔类型; 数据类型转换自动数据类型转换 强制数据类型转换

  • Java数据类型(慢慢积累,对于事物的理解也会不一样)

    Java的数据类型: 1. 内置数据类型(基本数据类型); 2. 引用数据类型; Java基本数据类型:(...

  • 【IOS 开发】 数据类型详解

    1. 数据类型简介及输出 (1) 数据类型简介 数据类型简介: Object - C 数据类型 分为 基本数据类型...

  • iOS 数据类型简介及输出

    一、数据类型简介及输出 1.数据类型简介 数据类型简介 : Object - C 数据类型 分为 基本数据类型, ...

网友评论

      本文标题:数据类型

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