JavaScript系列:ECMAScript原始类型
2012-09-23 23:30
281 查看
ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、Number和String。
1、typeof运算符
ECMAScript提供了typeof运算符来判断一个值是否在某种类型的范围内。可以使用这种运算符来判断一个值是否表示一种原始类型;如果它是原始类型,还可以判断它表示哪种原始类型。
typeof运算符有一个参数,即要检查的变量或值。
对变量或值调用typeof运算符将返回下列值之一:
◊ "undefined" —— Undefined类型变量
◊ "boolean" —— Boolean类型变量
◊ "number" —— Number类型变量
◊ "string" —— String类型变量
◊ "object" —— 引用类型或Null类型变量
2、Undefined类型
Undefined类型只有一个值,即undefined。当声明的变量未初始化时,该变量的默认值为 undefined。
typeof对未声明的变量返回 "undefined"。
当函数没有返回值时,返回的也是值undefined。
3、Null类型
另一种只有一个值的类型是Null,它只有一个专用值null,即它的字面值。值undefined实际上是从值null派生来的,因此ECMAScript把它们定义为相等的。
尽管两个值相等,但它们的含义不同。undefined是声明了变量但未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象。
4、Boolean类型
Boolean类型是ECMAScript中最常用的类型之一。它有两个值true和false。
5、Number类型
ECMA-262中定义的最特殊的类型是Number型。这种类型既可以表示32位的整数,也可以表示64位的浮点数。直接输入的任何数字都被看作Number型的字面值。Number有一个特殊值NaN,表示非数(Not a Number)。NaN情况发生在类型(String、Boolean)转换失败时。NaN不能用于算术计算,NaN与自身不相等。
使用函数isNan()判断是否为非数。
6、String类型
String类型的独特之处在于,它是唯一没有固定大小的原始类型。可以用字符串存储0或更多的Unicode字符,由16位整数表示。
字符串中每个字符都有特定的位置,首字符从位置0开始,第二个字符在位置1,依次类推。
字符串字面量是有双引号(")或单引号(')声明的。由于ECMAScript没有字符类型,所以可以使用这两种表示法中的任何一种。
1、typeof运算符
ECMAScript提供了typeof运算符来判断一个值是否在某种类型的范围内。可以使用这种运算符来判断一个值是否表示一种原始类型;如果它是原始类型,还可以判断它表示哪种原始类型。
typeof运算符有一个参数,即要检查的变量或值。
对变量或值调用typeof运算符将返回下列值之一:
◊ "undefined" —— Undefined类型变量
◊ "boolean" —— Boolean类型变量
◊ "number" —— Number类型变量
◊ "string" —— String类型变量
◊ "object" —— 引用类型或Null类型变量
var str = 'Test'; alert(typeof str); // output "string" alert(typeof 100); // output "number"
2、Undefined类型
Undefined类型只有一个值,即undefined。当声明的变量未初始化时,该变量的默认值为 undefined。
var oTemp; alert(oTemp == undefined); // output "true" alert(typeof oTemp); // output "undefined"
typeof对未声明的变量返回 "undefined"。
// var oTemp; alert(typeof oTemp); // output "undefined"
当函数没有返回值时,返回的也是值undefined。
function fnTest() { // leave the function blank } alert(fnTest() == undefined); // output "true"
3、Null类型
另一种只有一个值的类型是Null,它只有一个专用值null,即它的字面值。值undefined实际上是从值null派生来的,因此ECMAScript把它们定义为相等的。
alert(null == undefined); // output "true"
尽管两个值相等,但它们的含义不同。undefined是声明了变量但未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象。
4、Boolean类型
Boolean类型是ECMAScript中最常用的类型之一。它有两个值true和false。
5、Number类型
ECMA-262中定义的最特殊的类型是Number型。这种类型既可以表示32位的整数,也可以表示64位的浮点数。直接输入的任何数字都被看作Number型的字面值。Number有一个特殊值NaN,表示非数(Not a Number)。NaN情况发生在类型(String、Boolean)转换失败时。NaN不能用于算术计算,NaN与自身不相等。
使用函数isNan()判断是否为非数。
alert(NaN == NaN); // output "false" alert(isNaN("blue")); // output "true" alert(isNaN("123")); // output "false"
6、String类型
String类型的独特之处在于,它是唯一没有固定大小的原始类型。可以用字符串存储0或更多的Unicode字符,由16位整数表示。
字符串中每个字符都有特定的位置,首字符从位置0开始,第二个字符在位置1,依次类推。
字符串字面量是有双引号(")或单引号(')声明的。由于ECMAScript没有字符类型,所以可以使用这两种表示法中的任何一种。
相关文章推荐
- JavaScript(ECMAScript ) 原始类型
- 每天进步一点点-JavaScript之ECMAScript(继JavaScript标准)原始类型(primitive type)
- JavaScript系列:ECMAScript类型转换
- JavaScript: * JavaScript:基本使用: * ECMAScript: * 变量:弱变量类型: var i; * 数据类型:原始类型和引用类型.
- JavaScript系列:ECMAScript引用类型
- JavaScript专精系列(1)——值类型和引用类型
- 深入Atlas系列:Web Sevices Access in Atlas示例(7) - 编写JavaScriptConverter处理含有循环引用的类型
- JavaScript原始类型和引用类型
- [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象
- JavaScript 系列笔记(一)数据类型
- javascript 简单高效判断数据类型 系列函数 By shawl.qiu
- 深入Atlas系列:Web Sevices Access in Atlas示例(7) - 编写JavaScriptConverter处理含有循环引用的类型
- JavaScript系列:ECMAScript运算符
- JavaScript 学习(五):原始类型(未完成)
- JavaScript:ECMAScript 引用类型
- JavaScript语法入门系列(三) 基本数据类型及其对应对象类型
- JavaScript系列----数据类型以及传值和传引用
- JavaScript的原始类型
- Javascript 5 种原始数据类型
- 深入理解JavaScript系列(18):面向对象编程之ECMAScript实现