JavaScript数据类型和变量

本文深入解析JavaScript中的四种基本数据类型:字符串、数字、布尔值及null与undefined的区别。重点介绍了字符串的隐式与显式转换,布尔值的赋值规则,数字类型与NaN的处理,以及如何正确使用Number、String和Boolean对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       JavaScript中的变量是已命名的数据,是一种为数据创建引用的方式,无论数据是字符串、数字、布尔值、数组或者其他对象,都可以通过变量名多次访问该数据。更重要的是,变量可以用于不同的过程中存储数据。

1.三种基本的数据类型(字符串、数字以及布尔型)

     每种数据类型互不相同,他们分别对应于字符串值、数字值以及布尔值。然而JavaScript还提供了一些内建的对象,String、Number和Boolean是拥有内建属性和方法的对象。当你以对象的方式去操作基本数据类型,它们也都会封装自己的基本数据类型,比如你创建了简单的字符串变量并使用String对象的方法时,JavaScript会隐式地通过String对象封装字符串基本数据类型,并且调用String对象的方法和属性。如下:

    var  firstName = "Maple";

     var upperFirstName = firstName.toUpperCase();

    需要注意的是,最后会销毁临时对象,所以如果需要以对象的方式操作字符串,最好的方式就是创建一个对象。

    下来我们分别去了解下它们。

1.1. String 数据类型

     由于JavaScript是一门支持松散类型的编程语言,当你把字符串赋值给一个变量时,此时这个变量的类型就是字符串。

这边我主要讲下字符串的转换

1.1. 1. 隐式转换:

    数字、布尔值等其他数据类型都可以转换成字符串,一般来说,脚本引擎将根据上下文自动完成转换,数字与字符串之间的连接也自动完成转换的,如下:

  var num_value = 2;

  var string_value1 = " This is a Number "  + num_value   ;    //结果是This is a Number2

  var string_value2 = " This is a Number "  + num_value  + num_value  ;   //结果是This is a Number22

  var string_value3 = +num_value  + num_value + " This is a Number "   ;   //结果是 4This is a Number

上面有三种情况不同的结果,字符串与数字相互连接的时候是按顺序两两之间操作,如果两两之中不同时为数字类型,结果值均为字符串类型。详情下图:

然后使用其他操作符号,将会把字符串转为数字:

 var fristResult = "20" - 2 ; // 结果为18       var secondResult = "20" / 2 ; // 结果为10   var secondResult = "20" * 2 ; // 结果为40

1.1.2.显式转换

  转换的方式为 :  var  num_value = 2;   var string_value = (String)num_value ;  

String 转换关系:

  undefined : "undefined "      null : "null"    布尔值 : "true"或"false"   数字 :数字相应的字符串,NaN表示非数字值

  字符串:不转换   对象:对象默认的字符串

1.2.Boolean 数据类型

  布尔值可以显式地赋给不同类型的变量,这取决于该变量是否已经赋值,以及该变量的当前值。如下:

var num_value = 0;

var boolean_value = Boolean(num_value);     //结果为false

故:Boolean数据类型显式转换的对应关系为:Undefined/Null/0/NaN/空字符串/false  -->false    true/其他数字/对象 --> true

1.3.Number 数据类型

主要来讨论下parseFloat和parseInt 两个将字符串转换数字方法。

var string_value = "1.23e-2";

parseFloat(string_value); //结果为 0.0123    parseInt(string_value); //结果为 1    

parseFloat("1.25 maple");  //结果为1.25       parseFloat("1.25");  //结果为1

其他数据类型与Number转换的对应关系 :  undefined - NaN  null-0(IE中返回NaN)  true/false-1/0 字符串-整数或者浮点数 对象-NaN

1.4.null和undefined变量

null是已定义的、值为null的变量。   undefined是已经声明但还没有初始化的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值