JavaScript五种基本数据类型与类型转换详解
本文详细解析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>Mock.js 拦截失效或数据格式错误的常见原因及排查
2026-11-05 10:11:59
Java和JavaScript名字像但没关系:辨析Java、JavaWeb与JS
2026-11-04 09:30:54
CodePen、JSFiddle与RunJS对比:哪款JS在线运行工具更适合你?
2026-11-03 16:46:57
JS 统计图渲染空白或报错怎么排查?常见问题解决指南
2026-11-03 09:49:40
flv.js 常见报错 MediaError 与解码失败排查指南
2026-11-02 10:29:29
相关标签:
