JavaScript - typeof方法及显示类型转换

typeof() 内置函数

    console.log(typeof([])); // object
    console.log(typeof({}));//object

    console.log(typeof(null));//object
    console.log(typeof(undefined));//undefined
    console.log(typeof(function(){}));//function

    console.log(typeof(1 - 1));//number
    console.log(typeof(1 - '1'));//number
    console.log(typeof('1' - '1'));//number

    // 不声明a
    console.log(a);//  报错 a is not defined
    console.log(typeof(a));//undefined
    console.log(typeof(typeof(a)));//string 解析:
    // 任何typeof() 里面的typeof() 都是string  ; typeof(数据类型)  = string

显示类型转换

  • Number() 函数把对象的值转换为数字。 Number(object)
    var a = '123';
    console.log( typeof(Number(a)) + '-' + Number(a)); //number-123
    a = true;
    console.log( typeof(Number(a)) + '-' + Number(a)); //number-1
    a = false;
    console.log( typeof(Number(a)) + '-' + Number(a)); //number-0
    a = null;
    console.log( typeof(Number(a)) + '-' + Number(a)); //number-0
    a = undefined;
    console.log( typeof(Number(a)) + '-' + Number(a)); //number-NaN
    a = 'a';
    console.log( typeof(Number(a)) + '-' + Number(a)); //number-NaN
    a = '1a';
    console.log( typeof(Number(a)) + '-' + Number(a)); //number-NaN
    a = '3.14';
    console.log( typeof(Number(a)) + '-' + Number(a)); //number-3.14
  • parseInt() 函数可解析一个字符串,并返回一个整数。如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。开头和结尾的空格是允许的。
parseInt(string, radix) 
string必需。要被解析的字符串。
radix

可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

    var b = '3.14';
    console.log( typeof(parseInt(b)) + '-' + parseInt(b));//number-3
     b = '3.99';//不是四舍五入
    console.log( typeof(parseInt(b)) + '-' + parseInt(b));//number-3
     b = true;
    console.log( typeof(parseInt(b)) + '-' + parseInt(b));//number-NaN
    b = '10';
    console.log(parseInt(b,16)) // 16     ?
    console.log(parseInt("010")) // 10

 console.log(parseInt(' 31 34')) // 31

  • parseFloat()   parseFloat(string)
  1. 是全局函数,不属于任何对象。
  2. parseFloat 将它的字符串参数解析成为浮点数并返回。如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。同时参数字符串首位的空白符会被忽略。
  3. 如果参数字符串的第一个字符不能被解析成为数字,则 parseFloat 返回 NaN。
  4. 可以通过调用 isNaN 函数来判断 parseFloat 的返回结果是否是 NaN。如果让 NaN 作为了任意数学运算的操作数,则运算结果必定也是 NaN。
    var num =parseFloat('3.1415926');//3.1415926
    console.log(parseFloat(num.toFixed(4)));//3.1416 四舍五入
    console.log(parseFloat(" 60 "));//60
    console.log(parseFloat(" 60years "));//60
    console.log(parseFloat(" He60years "));//NaN
    // 下面的例子都返回 3.14:
    console.log(parseFloat("3.14"));
    console.log(parseFloat("314e-2"))
    console.log(parseFloat("0.0314E+2"))
    console.log(parseFloat("3.14more non-digit characters"))
  • toString
    //toString()
    var str = 123;//123
    str = undefined;//报错 没有这个方法
    str = null;//报错 没有这个方法
    // console.log(str.toString());
    str = 100;
    console.log(str.toString(2));//1100100 2进制
  • Boolean()

undefined null NaN "" 0   false 

其他的都是true

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值