数据类型转换

本文介绍了JavaScript中数据类型的转换,包括隐式转换和强制转换,如使用+、toString()、Number()、Boolean()等方法。同时,文章通过示例解释了如何找到三个数中的最小值,强调了在进行数值比较时确保数据类型的正确转换的重要性。
摘要由CSDN通过智能技术生成

数据类型转换

写一个函数,该函数用于得到三个数中的最小值。刚开始测验的时候没啥问题,然后我输入5,8,10之后,控制台输出的是10最小,才想到使没有把a,b,c转换为数字类型。需要使用强制类型转换。

function min(){
    var a =+prompt('输入第一个数');
    var b =+prompt('输入第二个数');
    var c =+prompt('输入第三个数');
    if(a<b && b<c){
        console.log(a+'最小')
    }else if(b<c && b<a){
        console.log(b+'最小')
    }else{
        console.log(c+'最小')
    }
}
min()
  • 数据类型中换分为:隐式(不通过特定代码);强制类型转换

  • 强制类型转换,js提供了一些列的函数

    toString() String(数据)

语法: var str = 数据.toString([进制数]);

任意数据类型的数据转换为string类型

 let a = 123;
// 转换成string
let b = a.toString();

特殊情况,undefined 和 null 无法调用这个函数,所以使用的时候会报错
Uncaught TypeError: Cannot read property ‘toString’ of undefined

使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法,但是对于null和undefined,就不会调用toString()方法,而是将null直接转换为字符串"null",将undefined直接转换为字符串"undefined"

parseInt(数据[string][, radix]

将数据转换为number类型(整数)
radix底数,数据转换为radix基底的数,取值范围 2~36,根据基底数做计算的到一个数值,默认是10

parseInt(1010,2)   // 2 表示被解析值是二进制数

parserFloat(数据)

  1. 碰到第一个非小数或数字字符,则停止转换
  2. 如果无法转换,转换的结果为NaN
parseFloat(3.14);          //3.14
parseFloat('3.14');        //3.14
parseFloat('0.0314E+2');   //3.14
parseFloat('a')            //NaN
parseFloat('')             //NaN

Number(数据)

将一个数据解析为number类型,如果数据中包含非法数字,则返回NaN
-+ 强制转换为number类型

new Number(value); 
var a = new Number('123'); // a === 123 is false
var b = Number('123'); // b === 123 is true
a instanceof Number; // is true
b instanceof Number; // is false

Boolean(数据)

  • “” , ‘’ null undefined 0 NaN false除了这些以外其他都是真值
  • 字符串里的任何数据都是true,除了空字符串是false
 var x = "undefined";
    var y = "false";            
    var z = "";
    function assert(xVar){
        if(xVar)
            console.log(true);
        else
            console.log(false);
    } 
    assert(x);                   //true
    assert(y);                   //true 
    assert(z);                   //false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值