【JavaScript】数据类型

2016-04-21  本文已影响0人  TianZhu
  1. JavaScript的数据类型分为两种:原始类型和对象类型
    原始类型又叫基本数据类型
    对象类型又叫引用数据类型
  2. 区别:原始值不能更改,对象值可以更改。
    原始值存储在栈内存(stack)中
    对象值存储在堆内存(heap)中
    栈中存储的是一个具体的值,可以直接拿来用,堆存储的是一块数据,每块数据有一个相应的地址,地址一般存在栈中的一个变量里

原始类型(基本数据类型)

共有<strong>5种</strong>原始类型
number, string, boolean, null(空), undefined(未定义)

数字(number)

  1. 整型:一般以十进制,也可以使用十六进制。
  2. 浮点型:
    坑!
    js通过一种二进制法表示分数,转换成我们常用过的十进制分数,会产生一个精度问题,如:
var x = 0.3 - 0.2
var y = 0.2 - 0.1
x == y   // false
x == 0.1 //false
x = 0.09999999999999998
y = 0.1

所以当使用浮点数进行计算的时候,要根据需要注意取整,比如动画。

字符串(string)

一组放在引号里的大串字符序列
可以使用<strong>String对象</strong>的所有属性和方法(存在隐式转换)
属性:str.length
常用方法:str.charAt(0); str.substring(1,4); str.indexOf('e'); str.split('e');

布尔值

任意的JS值都可以转为布尔值
undefined,null,0,-0,NaN,""空字符串都会转成false
除此之外,包括<strong>对象、数组</strong>,都会转成true

null(空)

是一个控对象的占位符,类型typeof(null)为object

undefined(未定义)

typeof为undefined

<strong>null,undefined,NaN的区别</strong>
一 类型分析
未定义的值和定义但还没有赋值的值为undefined
null是一种特殊的object
NaN是一种特殊的number
二 比较运算
1)undefined与null是相等(==),但不全等(===);
2)NaN与任何值都不相等,与自己也不相等。

对象类型

对象是属性的集合,每个属性都由名/值对构成。值可以是原始值,如数字、字符串,也可以是对象

类(class)
数组(Array)类
函数(Function)类
日期(Date)类
正则(RegExp)类
错误(Error)类

上一篇下一篇

猜你喜欢

热点阅读