web前端数据类型详解 |
您所在的位置:网站首页 › 前端项目有哪些类型的 › web前端数据类型详解 |
数据类型 数据类型JavaScript 拥有动态类型:字符串、数字、布尔、数组、对象、Null、Undefined ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String。 typeoftypeof 运算符有一个参数,即要检查的变量或值。例如: ``` var sTemp = "test string"; alert (typeof sTemp); //输出 "string" alert (typeof 86); //输出 "number" 对变量或值调用 typeof 运算符将返回下列值之一: ``` undefined - 如果变量是 Undefined 类型的boolean - 如果变量是 Boolean 类型的number - 如果变量是 Number 类型的string - 如果变量是 String 类型的object - 如果变量是一种引用类型或 Null 类型的注释:您也许会问,为什么 typeof 运算符对于 null 值会返回 “Object”。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。 Undefined 类型如前所述,Undefined 类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。 ``` var oTemp; ```前面一行代码声明变量 oTemp,没有初始值。该变量将被赋予值 undefined,即 undefined 类型的字面量。可以用下面的代码段测试该变量的值是否等于 undefined: ``` var oTemp; alert(oTemp == undefined); ```这段代码将显示 “true”,说明这两个值确实相等。还可以用 typeof 运算符显示该变量的值是 undefined: ``` var oTemp; alert(typeof oTemp); //输出 "undefined" ```提示:值 undefined 并不同于未定义的值。但是,typeof 运算符并不真正区分这两种值。考虑下面的代码: ``` var oTemp; alert(typeof oTemp); //输出 "undefined" alert(typeof oTemp2); //输出 "undefined" ```前面的代码对两个变量输出的都是 “undefined”,即使只有变量 oTemp2 从未被声明过。如果对 oTemp2 使用除 typeof 之外的其他运算符的话,会引起错误,因为其他运算符只能用于已声明的变量上。 例如,下面的代码将引发错误: ``` var oTemp; alert(oTemp2 == undefined); ```当函数无明确返回值时,返回的也是值 “undefined”,如下所示: ``` function testFunc() { } alert(testFunc() == undefined); //输出 "true" ``` Null 类型另一种只有一个值的类型是 Null,它只有一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。 ``` alert(null == undefined); //输出 "true" ```尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其初始化时赋予该变量的值,null 则用于表示尚未存在的对象(在讨论 typeof 运算符时,简单地介绍过这一点)。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |