Js强制类型转换

强制类型转换

String

把一个数据类型强制转换为String类型有两种方法:

方法一:toString()方法
var a = 123;
console.log(typeof a); //Number
var b = a.toString();  //调佣被转换数据的toString()方法。该方法不会影响原变量,它会将转换的结果进行返回
console.log(typeof b) //String
var c = true;
var c = c.toString();
console.log(typeof c); //String

Null和Undefined 不能进行转换,因为它们没有toString方法

方法二:调用String()函数
var d = 123;
var d = String(d);      // 调用String()函数,并将转换的数据作为参数传递给函数
console.log(typeof d)	// String
var f = null; //Null也可以被强制转换
var f = String(f);
console.log(typeof f)  // String
// Null和Undefined 可以进行强制转换。

Number

转换情况
  1. 数字 —> 数字
  2. 非全数字 —> NaN
  3. 空串和满空格 —> 0
  4. 布尔值转换:true —> 1; false —> 0
  5. null —> NaN
  6. Undefined —> NaN
方法一:Number() 函数
var b = "123";
b = Number(b);
console.log(b); // 123

var a = "wad5456+-+-";
    a = Number(a);
    console.log(a); //NaN

    var c = "";
    var d = "   ";
    c = Number(c);
    d = Number(d);
    console.log(c); // 0
    console.log(d); // 0

    var e = true;
    var f = false;
    e = Number(e);
    f = Number(f);
    console.log(e); // 1
    console.log(f); // 0

    var g = null;
    g = Number(g);
    console.log(g); //0

    var h;
    h = Number(h);
    console.log(h); //NaN
方法二:ParseInt(); parseFloat();

这种方式一般用于字符串,其他类型会优先转换为字符串类型让后再操作

ParsInt:从字符串中取整数 ,从左向右开始检查,遇见非数字的后面全不取。

    var i = "123px";
    i = parseInt(i);
    console.log(i) // 123

parseFloat:从字符串中取出有效的小数 ,从左向右开始检查,遇见非数字的后面全不取。

var j = "12.6px" // 12.6有效,12.6.6无效
j = parseFloat(j);
console.log(j);  // 12.6

其他类型

var l = true; 
l = parseInt(l);
console.log(l); //NaN 并非是1
// 首先转换为字符串类型:"true" 让后用字符串类型再转换为Number类型:NaN

Boolean

Boolean()函数

转换为Boolean只有一个方法。

转换值

  • 数字:0和NaN为false,其他为true
  • 字符串:空串为false,其他为true
  • null和undefined都是false
  • Object(对象)转换也为true
    var a = 12;
    a = Boolean(a);
    console.log(a);   //true

    var b = -12;
    b = Boolean(b);
    console.log(b);   //true

    var d = 0;
    d = Boolean(d);
    console.log(d);   //false

    var e = NaN;
    e = Boolean(e);
    console.log(e); //false

    var f = "156";
    f = Boolean(f);
    console.log(f); //true

    var g = "aw+-*&ad";
    g = Boolean(g);
    console.log(g);   //true

    var h ="";
    h = Boolean(h);
    console.log(h);   //false
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值