本文详细介绍 JavaScript 中的六种基础数据类型,包括 String、Number、Boolean、Null 和 Undefined,以及引用类型 Object。重点讲解各类别的特性、特殊值(如 Infinity、NaN)及 typeof 检查方法,并深入剖析将其他类型强制转换为 String、Number 和 Boolean 的具体规则与函数用法。
JavaScript 中定义了六种基本数据类型,分别是 String(字符串)、Number(数值)、Boolean(布尔值)、Null(空值)、Undefined(未定义)以及 Object(对象)。其中前五种属于基本数据类型,而 Object 属于引用数据类型。
数据类型指的是字面类型
在JS中有六种数据类型
String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
Object 对象
其中String、Number、Boolean、Null、Undefined 属于基本数据类型
Object 属于引用数据类型在 JavaScript 中,字符串需要使用引号包裹,单引号或双引号均可使用,但需注意不能混用。引号内部不能嵌套同种引号,例如双引号内不可直接包含双引号,但单引号内可以包含双引号。字符串支持使用反斜杠(\)作为转义符来处理特殊符号,如 \" 表示双引号,\' 表示单引号,\n 表示换行,\t 表示制表符,\\ 表示反斜杠本身。
/*
String字符串
-在JS中字符串需要使用引号起来
-使用双引号或者单引号都可以,但是不要混用
-引号不能嵌套,双引号里面不能放双引号,单引号不能放单引号
单引号里面可以放双引号
*/
var str="hello";
str ='我说:"今天心情好!"';
/* 在字符串中我们可以使用\作为转义符,
当表示一些特殊符号时可以可以使用\进行转义
\" 表示"
\' 表示'
\n 表示换行
\t 制表符
\\ 表示\
加上双引号表示字符串,不加双引号表示变量
*/
document.write(str)JavaScript 中的所有数值均属于 Number 类型,涵盖整数和浮点数。JavaScript 能表示的最大数值由 Number.MAX_VALUE 定义,约为 1.7976931348623157e+308。若数值超过此最大值,系统将返回 Infinity(正无穷)或 -Infinity(负无穷),使用 typeof 检查 Infinity 仍返回 Number。此外,NaN(Not a Number)是一个特殊的数值,表示非数字,typeof 检查 NaN 同样返回 number。
/*
在JS中所有的数值都是NUmber类型,
包括整数和浮点数(小数)
JS中可以表示的数字最大值
-Number.MAX_VALUE
-1.7976931348623157e+308
超过最大值,则返回一个Infinity
Infinity 正无穷
-Infinity 负无穷
使用typeof检查Infinity也会返回Number
NAN 是一个特殊的数字,表示Not A Number
使用typeof检查一个NaN也会返回number
*/
// 数字123
var a=123;
// 字符串123
var b="123";
/*
可以使用一个运算符typeof
来检查一个变量的类型
语法:typeof变量
检查字符串时,会返回string
检查数值时,会返回number
*/
// console.log(typeof b);
/* a =Number.MAX_VALUE*Number.MAX_VALUE;
a =Infinity
console.log(typeof a); */
a =-Number.MAX_VALUE*Number.MAX_VALUE;
a ="abc"*"bcd"
console.log(typeof a);
var c=123456 + 789456;
console.log(c)布尔值(Boolean)仅包含两个值:true 表示真,false 表示假,主要用于逻辑判断。使用 typeof 检查布尔值变量会返回 boolean。
/*
Boolean布尔值
布尔值只有两个,主要用来逻辑判断
true 表示真
false 表示假
*/
var bool=false;
console.log(typeof bool);
console.log(bool);Null 类型的值唯一,即 null,专门用于表示空对象。值得注意的是,使用 typeof 检查 null 会返回 object,这是 JavaScript 的历史遗留问题。Undefined 类型也只有一个值 undefined,当声明变量但未赋值时,其默认值为 undefined。使用 typeof 检查未赋值的变量会返回 undefined。
/*
Null类型的值只有一个,就是null
null这个值专门表示空的对象
使用typeof检查一个null,会返回object
undefined(未定义)类型只有一个,就undefind
当声明一个变量,但是并不给变量赋值时,它的值就是undefind
使用typeof检查一个undefind时也会返回undefind
*/
var a=null;
console.log(typeof a);//返回object
var b;
console.log(b)
console.log(typeof b)强制类型转换是指将一种数据类型显式转换为另一种数据类型,主要涉及转换为 String、Number 和 Boolean。转换为 String 主要有两种方式:一是调用被转换数据类型的 toString() 方法,该方法不影响原变量并返回结果,但 null 和 undefined 没有此方法,调用会报错;二是使用 String() 函数,对于 Number 和 Boolean 类型,其内部逻辑类似于调用 toString(),但对于 null 和 undefined,则直接返回对应的字符串
/*
强制类型转换
-指将一个数据类型强制转换为其他的数据类型
-类型转换主要指,将其他的数据类型转换为
String number boolean
*/
/*
一:
将其他的数据类型转换为String
1:调用被转换数据类型的toString()方法
2:该方法不会影响到原变量,它会将转换的结果返回
3:但是注意:null和undefined这两个值没有toString
如果调用他们的方法,会报错
二:
1:调用String()函数,并将被转换的数据作为参数传递给函数
2:使用String()函数做强制类型转换时,
对于Number和Boolean实际上就是调用的toString()方法
但是对于null和undefined,就不会调用toString()方法
它会将null,直接转换为"null"
将undefined直接转换为"undefined"
*/
var a=123;
//调用a的string()方法
//调用xxx的方法yyy()方法,就是xxx.yyy()
a=a.toString();
a=true;
a=a.toString();
a=null;
//a=a.toString();//报错
a=undefined;
//a=a.toString();//报错
a=123;
//调用String()函数,来将a转换为字符串
a=String(a);
a=undefined;
a=String(a)
console.log(typeof a);
console.log(a);6、将其他的数据类型转换为Number
/*
将其他的数据类型转换为Number
转换方式一:使用Number()函数
字符串转---数字
1:如果是纯数字的字符串,则直接将其转换为数字
2:如果字符串有非数字的内容,则转换为NaN
3:如果字符串时一个空串或者是一个全是空格的字符串,则为0;
布尔--》数字
true 转换 1
false转换 0
Null--》数字--0
undefined-->数字--NaN
转换方式二:
这种方式专门用来对付字符串
parseInt()把一个字符串转换为一个整数
parseFloat()把一个字符串转换为一个浮点数
*/
var a= "123";
//调用Number()函数来将a转换为Number类型
a = Number(a);
a = false;
a = Number(a);
a =null;
a = Number(a);
a = undefined;
a = Number(a);
a = "123.789px";
//调用parseInt()函数转换为Number
/* parseInt()可以将一个字符串中整数的内容去出来,
然后转换为Number */
a = parseInt(a);
// parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数
a = "123.789.456px";
a = parseFloat(a);
/*
如果对非String使用parseInt()或parseFloat()
它将先其转换为String然后在操作
*/
a = true;
a = parseInt(a);
a = 789.45;
a = parseInt(a);
console.log(typeof a);
console.log(a);7、将其他的数据类型转换为Boolean
/*
将其他的数据类型转换为Boolean
使用Boolean()函数
数字---->布尔
除了0和NaN,其余的都是true
字符串----》Boolean
除了空串,其余的都是true
null和undefined都会转换为false
对象也会转换为true
*/
var a = 123; //true
a = -321; //true
a = 0; //false
a = Infinity;//true
a = NaN; //false
// 调用Boolean()函数转换为布尔值
a = Boolean(a);
a = null; //false
a = Boolean(a);
a = undefined; //false
a = Boolean(a);
console.log(typeof a);
console.log(a);总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注本站的更多内容!