6、JS强制数据类型转换

介绍

本文是在学习JS所做的学习笔记,所有笔记内容请看:JS学习笔记

强制类型转换介绍

强制类型转换
- 指将一个类型,强制转换成其它类型
- 类型转换主要指将其它数据类型转换成
String Number Boolean

1、强制转换成Sring类型

主要有两种方法:
1、 方法一:
- 调用被转换数据类型的toString()方法
- 该方法不会影响到原变量
- 不能将null 和 undefined 转换成String,这两个数据类型没有toSring 方法。

2、 方法二:
  - 调用String()函数,并将被转换的数据作为参数传入函数
 - 使用String()函数进行强制类型转换时:
    对于Number和Boolean 就是调用toString()方法
    对于null 和 undefined 就不是调用toString()方法了
   它会将null 直接转换成 "null"
   将undefined 直接转换成 "undefined"

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
   
    
     将其它数据类型转换成String
     方法一:
       - 调用被转换数据类型的toString()方法
       - 该方法不会影响到原变量
       - 不能将null 和 undefined 转换成String,这两个数据类型没有toSring
         方法。
      方法二:
       - 调用String()函数,并将被转换的数据作为参数传入函数
       - 使用String()函数进行强制类型转换时:
            对于Number和Boolean 就是调用toString()方法
            对于null 和 undefined 就不是调用toString()方法了
                它会将null 直接转换成 "null"
                将undefined 直接转换成 "undefined"
           
    
    
    var a = 123// .toString()方法不会影响到原变量
    var b = a.toString()
    console.log(b)// 输出字符串"a"
    console.log(typeof b) // 输出String
    console.log(typeof a) // 输出Number
    
    a = a.toString()
    
    a=null;
    a.toString(); //会输出错误,不能将null转换成String
    a = undefined;
    a.toString(); // 会输出错误,不能将undefined转换成String
    
    a=123;
    // 调用String()函数,将a转化成字符串
    a= String(a);
    
    a= null;
    a = String(a);// 调用String()函数将 null 转换成字符串 "null"
    a= undefined;
    a = String(a); / 调用String()函数将 undefined 转换成字符串 "null"
    
    // 该方法也是先将198.23转换成字符串"198.23",然后再进行转换
    a = 198.23
    a = parseInt(a); // 输出198,进行了取整
  
</head>
<body>
</body>
</html>

2、其它数据类型转换成Number

将其它数据类型转换成Number:
转换方式一:
-使用Number()函数
- 字符串 -->数字
1.如果是纯数字的字符串,则直接将其转换成数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果为空字符串,则转换成0
- 布尔 --> 数字
1.true 转成 1
2.false 转成 0
- Null --> 数字
1.null 转成 0
- Undefined --> 数字
1.转成NaN
转换方式二:
-该方式专门用来转换字符串
-parseInt() 把一个字符串转换成一个整数
-paresFloat() 把一个字符串转换成一个小数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
    
       将其它数据类型转换成Number:
           转换方式一:
           -使用Number()函数
             - 字符串 -->数字
                1.如果是纯数字的字符串,则直接将其转换成数字
                2.如果字符串中有非数字的内容,则转换为NaN
                3.如果为空字符串,则转换成0
             - 布尔 --> 数字 
                1.true 转成 1
                2.false 转成 0
             - Null --> 数字
                1.null 转成 0
             - Undefined --> 数字
                 1.转成NaN  
           转换方式二:
             -该方式专门用来转换字符串
             -parseInt() 把一个字符串转换成一个整数
             -paresFloat() 把一个字符串转换成一个小数
    
  var a = "123";
  // 调用Number()函数将a转化成number类型
  a = Number(a); // 将"123" 转化成 number,输出数字123
  
  a= "abc";
  a = Number(a); // 输出NaN
  
  a="";
  a = Number(a); // 输出为0
  
  a = true;
  a = Number(a); // 输出 1
  a = false;
  a = Number(a); // 输出 0
  
  a = null;
  a = Number(a); // 类型 Number 输出结果为0
  
  a = undefined;
  a = Number(a);// 为NaN
  
  a = "123px";
  // 调用parseInt(a)把字符串转换成Number ,把 123px 转换成 123

    parseInt()可以将一个字符串中的有效整数内容取出来,
    然后转换成Number.
    parseInt()转换成数字的方法,是从左往右顺序读取其数字,并将
    其转换成Number()
 
  a = parseInt(a); // a=123
  a = "12px45";
  a = parseInt(a); // a=12
  a = "12.567px";
  a = parseInt(a); // a=12
  
  
   parseFloat() 效果与parseInt()效果类似,只是它可以获得有效的小数
  
  a = "123.45px";
  a = Number(a); // a = 123.45
  a = "123.45.66px";
  a = Number(a);// a = 123.45
  
 
 
    如果对非String使用parseInt()parseFloat(),它会先将其转换成
    String,然后再操作
  
  a = true;
  a = parseInt(a);// 输出a 的值NaN
   
  
</head>
<body>
</body>
</html>


3、其它数字类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
  
      在js中,如果需要表示16进制的数字,则需要以0x开头.
              8进制的数字,则需要以0开头
             2进制的数字,需要以0b开头   
   
    // 16进制数字
    var a=0x10
    // 8进制的数字
     a = 070;
    // 2进制的数字
     a = 0b10 
     
    console.log(a) // 输出16
    
    
    a = "070"
    // 在如下转换中,有些浏览器会转换成70,有些浏览器会当成8进制转换
    a = parseInt(a)
    // 如下,在parseInt()中传递第二个参数,转换成10进制
    // 这样,在所有浏览器中就统一了
    a = parseInt(a,10)
    console.log(a)
    </script>
 
  
</head>
<body>
</body>
</html>

4、转换成Boolean类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
   
      将其它的数据类类型转换成Boolean
         - 使用Boolean()函数
             - 数字 ---> 布尔
                  - 除了0NaN,其余都是true
             - 字符串 ---> 布尔
                  - 除了空串,都转成true
             - null 和 undefined 都是false   
             - 对象也会转换成true       
      
    
    var a = 123;
    a = Boolean(a); // true
    a = -123;
    a = Boolean(a); // true
    
    a = 0
    a = Boolean(a); // false
    
    a = Infinity;
    console.log(a); // true
    
    a = NaN;
    cosnole.log(a); // false
    
    a= "hello";
    a = Boolean(a);// true
    
    a = "false";
    a = Boolean(a); // true
    
    a = "";
    a = Boolean(a); // false
    
    a = null;
    a = Boolean(a);// false
    
    a = undefined;
    a = Boolean(a);// false
    
    
  
    </script>
 
  
</head>
<body>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值