从JavaScript数据类型说起(一)

简介:

1、Js数据类型

在Js中,有五种基本数据类型:Undefined、Null、Number、String和Boolean。还有一种复杂数据类型Object。Object本质上是由一组无序的名值对组成。Js中不支持自己所创建的任何类型机制,所有值最终都是以上六种类型之一。Undefined类型只有一个值undefined,Null类型只有一个值null,Boolean类型有两个值true和false。

2、判断变量的数据类型

可以通过typeof操作符在一定程度上检测变量数据类型。typeof是操作符范畴,而不是函数。typeof操作符返回的结果是一个变量数据类型相应的字符串表示形式,如:String类型则返回"string",Boolean类型则返回"boolean",Undefined类型则返回"undefined",Null类型则返回"null"。typeof操作符返回的结果与Js数据类型并不完全一致,一共返回有六种结果,且其与数据类型对应关系如下:

Undefined => "undefined"
Null          =>  "object" (js认为null是对对象的空引用)

Number    =>  "number"
Boolean    =>  "boolean"
String       =>  "string"
Object      =>   "object" (除去函数)
               =>    "function" (函数)

由此可以看出,完全由typeof操作符来判断变量的数据类型是不可以的。同时对于Js中的变量,还存在如下情况:

1 var a;
2 alert(typeof a);  // result: "undefined"
3 alert(typeof b);  // result: "undefined"

如上例所示,对一个已经定义的变量但未初始化(其实本例中的var a等同于var a=undefined),和一个尚未定义的变量同时typeof的结果都是"undefined",由此也可以看出如果需要判断变量数据类型是否是Undefined直接通过typeof操作符也是不严谨的。

对于未声明的变量,如果直接在程序中用到了,除了typeof操作为生命变量外,都会出现错误提示,因为变量尚未申明,是不能直接用的。

因此在判断变量是否为Undefined时,最好还是通过if(typeof varname == "undefined")形式,而不是直接通过if(varname == undefined)形式。

那么现在问题出来了,如何比较好的判断一个变量是未定义还是已经定义但尚未赋值呢?

 

---------------------------------------------------------------------------------
笔者水平有限,若有错漏,欢迎指正,如果转载以及CV操作,请务必注明出处,谢谢!
分类: JavaScript

本文转自Windstep博客园博客,原文链接:http://www.cnblogs.com/lwbqqyumidi/archive/2012/12/02/2798616.html,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
存储 JavaScript 对象存储
js检测数据类型有那些方法
js检测数据类型有那些方法
146 59
|
20天前
|
存储 JavaScript 前端开发
JavaScript中的数据类型以及存储上的差别
通过本文的介绍,希望您能够深入理解JavaScript中的数据类型及其存储差别,并在实际编程中灵活运用这些知识,以提高代码的性能和稳定性。
48 3
|
2月前
|
存储 JavaScript 前端开发
js中的数据类型
JavaScript 中的数据类型包括五种基本类型(String、Number、Undefined、Boolean、Null)和三种引用类型(Object、Array、Function,以及ES6新增的Symbol)。基本类型直接存储值,引用类型存储的是指向实际数据的内存地址。了解它们的区别对于掌握 JavaScript 的变量赋值和函数传参至关重要。
27 1
|
3月前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
132 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
|
3月前
|
JavaScript 前端开发 开发者
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
32 1
|
4月前
|
JavaScript 前端开发
JavaScript基础知识-基本数据类型和引用数据类型
关于JavaScript基础知识的文章,主要介绍了基本数据类型和引用数据类型。
49 2
JavaScript基础知识-基本数据类型和引用数据类型
|
3月前
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
59 0
|
4月前
|
存储 前端开发 JavaScript
前端基础(三)_JavaScript数据类型(基本数据类型、复杂数据类型)
本文详细介绍了JavaScript中的数据类型,包括基本数据类型(Number、String、Boolean、Undefined、Null)和复杂数据类型(Object),并解释了如何使用`typeof`操作符来识别变量的数据类型。同时,还讨论了对象、函数和数组等复杂数据类型的使用方式。
87 2
|
5月前
|
JavaScript 前端开发
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
这篇文章是JavaScript基础与实战教程的第一部分,涵盖了JavaScript的基本语法、标识符、数据类型以及如何进行强制类型转换,通过代码示例介绍了JS的输出语句、编写位置和数据类型转换方法。
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
|
5月前
|
开发者 图形学 开发工具
Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
470 1