数据类型的转化 自动转化 强制转化

  首先,我们来谈一谈什么是数据类型的转化,我们为什么要学数据类型的转化?
  在我们的JavaScript的程序中,任何一个变量中所存储的数据类型都是没有限制的,你可以在变量中可以存储任何符合JavaScript语法规范的数据类型,但是在JavaScript 程序的执行过程中,往往需要变量中存储的数值是某种特定的数据类型,别的数据类型不行(如if判断的条件必须是布尔值),那么这个时候就需要进行数据类型的转化。
  所谓数据类型的转化,就是将当前的数据类型转化为其他的数据类型,在JavaScript中数据类型的转化,分为自动转化和强制转化。自动转化是计算机程序,自动完成的转化。强制转化是程序员,强行完成的转化。接下来我们看看具体的数据类型的转化。
一、布尔类型的自动转化
  我们先来看一看其他数据类型,自动转化为布尔类型。
  在执行if判断时,其他数据类型会自动转化为布尔类型。当其他数据类型为:0 ‘’ undefined null NaN 这五种情况时会转化为false,其他的所有情况都会转化为true。
二、字符串的自动转化
  我们再来看一看其他数据类型,自动转化为字符串类型。
  在执行字符串拼接 时, 会将其他数据类型转化为字符串类型,执行字符串拼接, 拼接符号+号两侧应该都是字符串类型,如果是其他类型,JavaScript程序会自动转化为字符串类型再执行拼接。
  转化原则:布尔值true→字符串’true’,布尔值false→字符串’false’,undefined→ 字符串 ‘undefined’,unll→字符串 ‘null’,数值→将数值解析转化为对应的纯数字的字符串,科学技术法会解析为表示的数值,然后再拼接。数组→ 将 [] 中的内容,转化为字符串的形式,进行拼接,对象→任何对象,任何内容,都会转化为 [object Object] 固定的内容形式,函数→将所有的程序代码,转化为字符串。
三、数值的自动转化
  接下来是其他数据类型自动转化为数值。
  在执行数学运算时,会触发数据类型的自动转化。
  转化原则:布尔值true→1,布尔值false→0,undefined→NaN,null→0,字符串 : 如果整个字符串是纯数字字符串,或者符合科学计数法→转化为对应的数值,如果字符串内有不符合数字规范的内容 →NaN。数组,对象,函数:如果是 + 加号 执行的是字符串拼接效果,按照这些数据类型转化为字符串的原则来转化,如果是其他形式的运算,执行结果都是NaN。
四、布尔类型的强制转化
  其他数据类型,强制转化为布尔类型,就是使用JavaScript中定义好的方法/函数:Boolean( 数据/变量 ),转化原则与自动转化原则相同。
五、字符串类型的强制转化
  其他类型强制转化为字符串类型。
  方法1:变量.toString(进制类型)。将数值强制转化为字符串,并且可以设定转化的进制。.toString() 之前,不能直接写数值,必须是写成变量的形式 ,进制常用的数值是 2、8、16 。可以设定的范围是 2 - 36 进制(10个数值+26个英文字母 )最少是2进制,最多是36进制。
  方法2:String( 变量 / 数据 ) 。将变量或者数据,转化为字符串,原则按照自动转化的原则来执行,不会改变变量中存储的原始数值。
  注意:字符串拼接时,会将其他数据类型自动转化为字符串。
六、数字的强制转化
  将其他数据类型强制转化为数值类型。
  方法1:Number(变量/数值)。将其他类型强制转化为数值类型,转化原则与自动转化选择相同。
  方法2:parseInt(变量 / 数据)。是获取变量或者数据的整数部分,从数据的左侧起解析获取整数内容。
  方法3:parseFloat( 变量 / 数值 )获取浮点数部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 中的数据类型可以分为两类:基本数据类型和引用数据类型。基本数据类型包括 boolean、byte、short、int、long、float 和 double,而引用数据类型包括类、接口、数组等。 Java 中的自动类型转换(隐式类型转换)是指在表达式中将一种数据类型的值自动转换成另一种数据类型的值。自动类型转换是从小类型到大类型的转换,例如 byte 类型可以自动转换为 short、int、long、float 或 double 类型,int 类型可以自动转换为 long、float 或 double 类型,等等。Java 中的自动类型转换是安全的,因为它不会导致数据的精度损失。 Java 中的强制类型转换(显式类型转换)是指将一种数据类型的值强制转换成另一种数据类型的值。强制类型转换必须显式地进行,因为它可能导致数据的精度损失或溢出。强制类型转换的语法格式如下: ``` (目标类型) 值 ``` 其中,目标类型是要转换成的数据类型,值是要转换的值。需要注意的是,强制类型转换可能会导致数据的精度损失或溢出,因此在进行强制类型转换时要谨慎,避免数据的精度损失和溢出。 例如,将一个 double 类型的值强制转换成 int 类型的值可以使用以下语句: ``` double d = 3.14159; int i = (int) d; ``` 在这个例子中,d 是一个 double 类型的值,它被强制转换成了 int 类型的值,i 的值为 3。需要注意的是,强制类型转换可能会导致精度损失,因此在进行强制类型转换时要注意数据的类型和精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值