问答详情
源自:-

非常好..

期待接下来的课程!!

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

说下看了第一章的收获:

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

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

    3.知道有duck type这个名词

    ...

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

var x = 0 | "5";

不知道和课程中的

var x = "5" - 0;

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

谢谢!

提问者:yenshen 2015-01-11 20:54

个回答

  • Bosn
    2015-01-11 22:09:32
    已采纳

    |是位运算符,

    1 | 0 => 1

    0 | 0 => 0

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

    1110 | 0000 => 1110

    0101 | 0000 => 0101

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

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

    实现是引擎级别的事情。


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