为了账号安全,请及时绑定邮箱和手机立即绑定

非常好..

期待接下来的课程!!

另外老师有个中文单词的发音剖(pou平声)析有错.

说下看了第一章的收获:

    1.instanceof 有不适用的场景:跨window和iframe

    2.知道类型检测的还可以通过constructor和duck type

    3.知道有duck type这个名词

    ...

还有个问题,在有些地方看到string转number的方式:

var x = 0 | "5";

不知道和课程中的

var x = "5" - 0;

相比,各自的实现及两者区别是怎样的?

谢谢!

正在回答

1 回答

|是位运算符,

1 | 0 => 1

0 | 0 => 0

二进制的任何数字 | 0都不会改变自己的值,例如:

1110 | 0000 => 1110

0101 | 0000 => 0101

之所以能够实现string转number,是利用了运算符的规则。

ECMA262定义了JavaScript运算符的规范,引擎照着这个规范去实现而已。

实现是引擎级别的事情。


两个运算符在隐式将string转number这点上无区别,


0 回复 有任何疑惑可以回复我~
#1

yenshen 提问者

非常感谢!
2015-01-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript深入浅出
  • 参与学习       281112    人
  • 解答问题       1020    个

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

进入课程
意见反馈 帮助中心 APP下载
官方微信