JavaScript五种基本数据类型与类型转换详解

作者:桌面漫游时间:2026-10-28 18:28:27浏览:116

本文详细解析JavaScript中的五种基本数据类型:Undefined、Null、Boolean、Number和String。重点讲解typeof运算符的返回值机制、函数默认返回行为、null与undefined的比较规则,以及Boolean、Number、String三种强制类型转换方法,并探讨对象继承与属性枚举特性。

JavaScript基本数据类型概述

Undefined

未定义。仅包含一个值:undefined

Null

仅包含一个值:null

Boolean 在JavaScript中,只要逻辑表达式的结果非undefined且非null,均视为真值。

代码如下:

if(3) true
if(null) false
if(undefined) false

Number与String类型特性

Number

String

JavaScript中不存在char类型。

字符串定义支持单引号或双引号。

代码如下:

<html>
<head>
<script type="text/javascript">
//var s="hello";
//alert(typeof s);//s是字符串类型
var s=new String("hello");//s 是对象类型 
alert(typeof s); 
</script> 
</head> 
<body> 
</body> 
</html>

typeof运算符与类型转换机制

typeof 是一个一元运算符,用于获取变量的数据类型


其返回值包含五种

undefined,boolean,number,string以及object.

前四种易于理解,而最后的object类型难以精确判断,仅笼统返回object

在JavaScript中,若函数未声明返回值,则默认返回undefined。 若声明了返回值,则实际返回什么即为什么。

undefined由null派生,因此比较时返回true alert(undefined==null);//true

强制类型转换 在JavaScript中,存在三种强制类型转换方式:

Boolean(value)

Number(value)

String(value)

代码如下:

<html>
<head>
<script type="text/javascript">
var num=Number(3);
alert(num);
var s="hello";
alert(Boolean(s));
var s1=String("hello");
alert(typeof s1);
var obj=new String("hello");//这不是强制类型转换!
alert(typeof obj);
</script>
</head>
<body>
</body>
</html>

对象继承与属性枚举

在JavaScript中,所有对象均继承自Object对象。

通过new关键字生成。

JavaScript中部分方法可枚举,部分不可枚举。

可使用JavaScript内置方法判断属性是否可枚举。

代码如下:

<html>
<head>
<script type="text/javascript">
var object=new Object();
for(var v in object){
console.log(v);
}
alert(object.propertyIsEnumerable("prototype"));//返回了false,表示没有可以枚举的属性,也意味着子对象相应的属性也是不可以枚举的
</script>
</head>
<body>
</body>
</html>

枚举自定义类型的属性

代码如下:

<html>
<head>
<script type="text/javascript">
var member=function(name,age){
this.name=name;
this.age=age;
} 
var m=new member("liudh",50);
for(var v in m){
console.log(v);
//name
//age
} 
alert(m.propertyIsEnumerable("prototype"));//false
//for(var v in window){
// console.log(v);
//}
</script>
</head>
<body>
</body>
</html>
作者最新文章