您的位置:首页 > Web前端 > JavaScript

javascript数据类型

2017-09-06 21:41 302 查看
简要

js变量可以存为两种类型的值,原始值,引用值。

原始值 ( 原始类型 )

1、储存在栈(stack)中,便于快速查询和使用,占有空间是较小的。

2、共有5种类型:Number,String,Boolean,Null,Undefined。

引用值 (引用类型 )

储存在堆(heap)中的对象

原始类型

1.Undefined类型

当声明变量,但未初始化时,初始值默认为undefined

let a;
console.log(a);//输出为undefined


这是一个预定义的全局变量,查询对象属性或数组元素不存在时,则返回undefined

let a={username:'joe'};
let b=[];
console.log(a.password);//输出undefined
console.log(b[1]);//输出undefined


2.Null类型

Null是个特殊的值,常用来描述空值,使用typeof 返回的是Object字符串

console.log(null);//输出"Object"


undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的,需要严格相等符来区分它们

console.log( null==undefined );//输出true
console.log( null===undefined );//输出false


如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。

3.Boolean类型

它只有两个值true/false

4.Number类型

Number 类型。这种类型既可以表示 32 位的整数,还可以表示 64 位的浮点数。

整型

尽管所有整数都可以表示为八进制或十六进制的字面量,但所有数学运算返回的都是十进制结果。

浮点型

要定义浮点值,必须包括小数点和小数点后的一位数字(例如,用 1.0 而不是 1)。这被看作浮点数字面量。

浮点型进行计算前,真正存储的是字符串。

特殊Number值

Number.MAX_VALUE 和 Number.MIN_VALUE,它们定义了 Number 值集合的外边界。所有 ECMAScript 数都必须在这两个值之间。不过计算生成的数值结果可以不落在这两个值之间。

if(X>Number.MAX_VALUE) X=InFinity;if(X<Number.MIN_VALUE) X=-InFinity;


NaN,表示非数(Not a Number)

5.String类型

String 类型的独特之处在于,它是唯一没有固定大小的原始类型。可以用字符串存储 0 或更多的 Unicode 字符

引用类型

引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象。Array,Function都是引用类型

Object 对象

ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性和方法都会出现在其他对象中

属性

constructor 对创建对象的函数的引用(指针)。对于 Object 对象,该指针指向原始的 Object() 函数。

Prototype 对该对象的对象原型的引用。对于所有的对象,它默认返回 Object 对象的一个实例。

方法

hasOwnProperty(property) 判断对象是否有某个特定的属性。必须用字符串指定该属性。

isPrototypeOf(object) 判断该对象是否为另一个对象的原型。

propertyIsEnumerable 判断给定的属性是否可以用 for…in 语句进行枚举。

toString() 返回对象的原始字符串表示。对于 Object 对象,ECMA-262 没有定义这个值,所以不同的 ECMAScript 实现具有不同的值。

valueOf() 返回最适合该对象的原始值。对于许多对象,该方法返回的值都与 toString() 的返回值相同

上面列出的每种属性和方法都会被其他对象覆盖。

参考链接

http://www.w3school.com.cn/js/index_pro.asp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 数据