周报6

    xiaoxiao2023-10-29  183

    typeof 及类型转换

    一、typeof值的返回类型:

    Number , string ,boolean , object , undefined , function *特殊的返回类型: 返回值为object有三种情况:{}、 null、 数组类型 [ ] 返回值为undefined情况:undefined 返回值为function情况:function 函数 例如:

    var num = 123 ; console.long(typeof(num));

    结果为:number

    二、类型转换

    类型转换有两种:显式类型转换 和 隐式类型转换。

    1,显式类型转换

    (1)Number(mix)

    var num = Number("123") console.log(typeof(num)+ ":" + num);

    结果为: number : 123

    1,当boolean经过Number时

    var bool = Number(true); console.log(bool); var boo =number(false); console.log(boo);

    结果为: 1 0

    2,当undefined经过Number时:

    console.log(Number(undefined));

    结果为:NaN

    3,所有值只要经过Number都会转换成数字。能转为数字的就转为数字,其他转为NaN.

    (2)parselnt(string,radix)

    把值转换为整形,不四舍五入,直接去掉 从数字位往下找,到非数字位切掉。 var demo = parseInt("123"); console.log("demo:"+demo); var demo1=parseInt(true); console.log("demo:"+demo1); var demo2 = parseInt("123abc"); console.log("demo:"+demo2);

    结果为: demo:123 demo1:NaN demo2:123

    2)进行进制转换,以目标进制为基底,转换为十进制。

    var demo = parseInt(1010,2); //把二进制转换为十进制 console.log("demo:"+demo);

    (3)parseFloat(string)从数字位开始看,直到除了第一个点以外非数字位截止

    (4)toFixed(radix) 保留小数位

    var demo = 13223.25343125; demo.toFixed(3);

    结果为13223.253

    (5)string(mix)写什么都会变成字符串

    (6)Boolean() 除 undefined ,null , NaN , " " , 0 , flase 为flase 外,其余都为ture

    (7)toString(radix) 以十进制为基底转换为目标进制 但 undefined null 不能用toString

    例题: 把二进制转换为十六进制: 二进制--------->十进制------------->十六进制 parseInt toString

    var demo = 1010; var num = parseInt(demo,2); var num1 = num.toString(16); console.log(num1);

    结果为a

    2,隐式类型转换

    调用显示类型里面的Number();

    (1) isNaN (2) + +/ - - +/- (3) + (4) * / % (5)&& || ! 调用显示类型的Boolean();

    (6) < > <= >= (7)== !=

    1)NaN为非数,不等于任何 2)"" 空串Boolean值为flase," "空格字符串Boolean值为ture

    最新回复(0)