javascript数据类型
2017-09-06 21:41
302 查看
简要
js变量可以存为两种类型的值,原始值,引用值。
原始值 ( 原始类型 )
1、储存在栈(stack)中,便于快速查询和使用,占有空间是较小的。
2、共有5种类型:Number,String,Boolean,Null,Undefined。
引用值 (引用类型 )
储存在堆(heap)中的对象
原始类型
1.Undefined类型
当声明变量,但未初始化时,初始值默认为undefined
这是一个预定义的全局变量,查询对象属性或数组元素不存在时,则返回undefined
2.Null类型
Null是个特殊的值,常用来描述空值,使用typeof 返回的是Object字符串
undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的,需要严格相等符来区分它们
如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。
3.Boolean类型
它只有两个值true/false
4.Number类型
Number 类型。这种类型既可以表示 32 位的整数,还可以表示 64 位的浮点数。
整型
尽管所有整数都可以表示为八进制或十六进制的字面量,但所有数学运算返回的都是十进制结果。
浮点型
要定义浮点值,必须包括小数点和小数点后的一位数字(例如,用 1.0 而不是 1)。这被看作浮点数字面量。
浮点型进行计算前,真正存储的是字符串。
特殊Number值
Number.MAX_VALUE 和 Number.MIN_VALUE,它们定义了 Number 值集合的外边界。所有 ECMAScript 数都必须在这两个值之间。不过计算生成的数值结果可以不落在这两个值之间。
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
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数据类型
- Javascript数据类型
- 简单介绍JavaScript的变量和数据类型
- JavaScript类型系统之基本数据类型与包装类型
- JavaScript 数据类型
- JavaScript:On The Way...(1)JS基础:数据类型,操作符
- JavaScript中的数据类型转换
- Javascript中的基本数据类型
- JavaScript数据类型
- JavaScript判断数据类型
- 网站前端_JavaScript-基础入门.0004.JavaScript数据类型
- 浅谈JavaScript数据类型检测
- JavaScript中的数据类型
- javaScript (一)数据类型
- Javascript基础教程之数据类型 (字符串 String)
- Javascript基础教程之数据类型转换
- Javascript数据类型
- (3)javascript 基本概念--- -- 数据类型
- Javascript的基本数据类型
- JavaScript数据类型的一些注意点