本文系统介绍JavaScript中的基本数据类型(Boolean、Number、String、Undefined、Null)与引用类型(Object、Function)。详细解析值类型与引用类型的内存差异,对比undefined与null在严格相等与宽松相等下的表现,并列举parseInt、parseFloat、Number等常用类型转换函数的具体用法与注意事项。
JavaScript基本数据类型概述
JavaScript数据类型
1.Boolean(布尔)
布尔类型属于值类型,例如:var b1=true; 用于表示布尔值。
2.Number(数字)
数值类型同样属于值类型,例如:var n1=3.1415926; 用于存储数字。
可以使用 n1.toFixed(3); 方法对数值进行四舍五入并保留三位小数。
3.String(字符串)
代码如下:
var s1='hello'; // 字符串类型
字符串属于值类型,且具有不可变特性。
4.Undefined(未定义)
undefined属于值类型。它与其他值进行计算时,结果往往不符合预期,这与数据库中的null有所不同,例如与数字或字符串运算时的表现差异。
Undefined类型和Null类型都是仅有一个值的数据类型,其值分别为undefined和null。
5.Null(空对象)
6.Object(对象类型)
Object是引用类型,而前述类型均为基本数据类型。
String虽然是基本类型,但不能为其动态添加属性;而引用类型则可以。
可以使用 引用类型对象 instanceof 类型 来判断某个值是否为特定类型,所有引用类型的 instanceof Object 返回值均为true。
引用类型与对象特性
7.应用类型
对象(object):属于引用类型。
代码如下:
var tim=new Date(); // 对象类型(object)
var names=['zs','ls','ww']; // 数组也是对象类型(object)
var obj=null; // object
函数:属于引用类型。
代码如下:
function fun(){ } // typeof(fun); 输出结果为function,表示函数类型
PS: 查看变量的类型可以使用 typeof(变量)。
undefined与null的区别
JavaScript中的Null与undefined
undefined表示一个未知状态。
当变量声明但未初始化时,其值为未知状态(undefined)。访问不存在的属性或对象(如window.xxx)时,方法没有明确返回值也会返回undefined。对未声明的变量应用typeof运算符时,结果也显示为undefined(*)。
null表示尚未存在的对象,是一个具有特殊意义的值。
可以将变量赋值为null,此时变量的值为“已知状态”(不同于undefined),常用于初始化变量、清除变量内容或释放内存。
undefined==null 的结果为true,但两者的含义不同。
undefined===null 的结果为false(*),因为===会先判断类型是否一致,再判断值。===表示严格等于,!==表示严格不等于。
由于==会将值转换类型后再判断是否相等,有时可能产生意想不到的结果,因此推荐使用===。但需注意,某些特定场景下使用==能带来更好的效果。
JavaScript类型转换函数
类型转换
代码如下:
parseInt(arg) 将指定的字符串转换成整数。
parseFloat(arg) 将指定的字符串转换成浮点数。
Number(arg) 把给定的值(任意类型)转换成数字(可以是整数或浮点数);它转换的是整个值,而不是部分值。如果该字符串不能完全转换为整型,则返回NaN(Not a Number)。
isNaN(arg) 用于判断arg是否为一个非数字(NaN),需要注意的是NaN与NaN本身也不相等。
String(arg) 把给定的值(任意类型)转换成字符串。
Boolean(arg) 把给定的值(任意类型)转换成Boolean型。
(*)eval(codeString) 将一段字符串的js代码进行计算并执行。
以上所述就是javascript的数据类型和转换方法了,希望大家能够喜欢。