快速复习一遍JavaScript(三)· 强制类型转换

强制类型转换

  • 指将一个数据类型强制转化为其他的数据类型
  • 类型转换主要指将其他的数据类型转换为 String Number Boolean

一、将其他的数据类型转换为String

1.调用被转换数据类型的toString()方法

  • 该方法不会影响到原变量,它会将转换的结果返回
  • 但是注意:null 和 undefined没有toString()方法,调用会报错

2.调用String()函数

  • 被转换的数值将作为参数传递给函数
  • 使用String()函数强制转换数据类型的时候,对Number和Boolean实际上就是调用的toString()方法
  • 但是对于null和undefined是直接转换的
var a = 123;
a = a.toString();
console.log(a, typeof a);

var b = true;
b = b.toString();
console.log(b, typeof b);

var c = null;
// c = c.toString();--会报错

var d = undefined;
// d = d.toString();--会报错

var e = 456;
e = String(e);
console.log(e, typeof e);

二、将其他数据类型转化为Number

1.使用Number()函数

  • 如果是纯数字字符串可以直接转换为数字
  • 如果数字串中有非数字的字符,则转换为NaN
  • 如果字符串为空或者全是空格,会转换为0
  • true转换为1 false转换为0
  • null转化为0
  • undefined转换为NaN

2.针对字符串

  • parsInt()可以将一个字符串中的有效整数内容取出来转换为数值
    只能取到最前面的第一个整数部分
  • parsFloat()可以将一个字符串中的有效浮点数内容转换为数值
    只能取到最前面的第一个浮点数部分
  • 如果字符串的第一位非数字,将直接放弃读数。(即读数的规则是开始读数,直到不是数字时结束)
  • 如果对非String使用以上两个函数,它们会将其先转换为String,然后再操作
var f = "777.456ll789.987";
f = parseInt(f);

var g = "888.456rr789.987";
g = parseFloat(g);

console.log(f, typeof f, g, typeof g);

var h = true;
h = parseInt(h);
console.log(h, typeof h);

三、将其他数据类型转化为Boolean

  • 数字 ==> 布尔:除了0 和 NaN都是true
  • 字符串 ==> 布尔:除了空串,都是true
  • null & undefined ==> 布尔:false
  • 对象也会转换为true

引~其他进制的数字

  • 0x开头表示十六进制
  • 0开头表示八进制
  • 0b开头表示二进制
    ( 但是不是所有浏览器都支持以上规则)
var i = 0x10;
var j = 070;
var k = 0b11;
console.log(i, j, k);

//像“070”这种字符串,有些浏览器会当成八进制解析有的会当成十六进制解析
var l = "070";
l = parseInt(l);
console.log(l, typeof l);

// 可以在parseInt( , )中传递第二个参数,来制定数字的进制
var m = "070";
m = parseInt(m, 10);
console.log(m, typeof m);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值