拓展-2【类型转换小结】

一.String()/toString()/''+

(1).String

1.tostring 会报错

(1).tostring()可以

步骤String(引用类型)

先去找自身原型上的tostring()

找不到就去Object的原型上找toString()

如果tostring()返回的是引用类型则会调用valueof

toString({}) = [object Object]

{}是由object构造而成,所以直接在调用Object原型上的toString 所以是object Object

函数体

function a(){}

    console.log(String(a));

    console.log(a.toString());

去找的Function.prototype

返回 function a(){}

因为函数体默认返回本身所以打印出整个函数体

(2).Number

步骤Number(引用类型)

先去找valueof().

再去找tostring()

找不到就去Object的原型上找toString()

进制

Numer()可以识别二进制 十六进制

Number(0101)

数字转换

Number('123')  =  123

Number('   123')  =  123

Number('.123') =  0.123

Number('abc')  =  NaN

Number('123abc')  =  NAN

Number('1 2')  =  NAN

parseInt('-123ab') = -123

parseInt(123ab) =123

可以看到Number对于有其他元素干扰的数字处理截取的不是很好而parseInt正好弥补了

parseInt

除了对数字转换截取有了更好的支持外,还增强了进制的转换

parseInt('11',2); 其中第二个参数的范围是2-36 null/un/0都被视为10进制默认进制

(3).Boolean

除了 un null nan '' +0 -0 0 false document.all() 以外全是true

二.特殊运算符

 var a = '123';

log(~~a);

log(a & 1);

log(a | 1);

log(a ^ 1)

log(a << 1)

log(a >> 1)

log(a >>> 1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值