什么是新的& amp;在javascript中直接分配?

时间:2016-03-24 09:17:02

标签: javascript node.js

这是我的情景:

> var babloo = new Number(12)

[Number: 12]

> var bablaa = 12

12

> babloo.

babloo.__defineGetter__      babloo.__defineSetter__      babloo.__lookupGetter__      babloo.__lookupSetter__      babloo.__proto__             babloo.constructor           babloo.hasOwnProperty
babloo.isPrototypeOf         babloo.propertyIsEnumerable  babloo.toLocaleString        babloo.toString              babloo.valueOf               
babloo.toExponential         babloo.toFixed               babloo.toPrecision           

> bablaa.

bablaa.__defineGetter__      bablaa.__defineSetter__      bablaa.__lookupGetter__      bablaa.__lookupSetter__      bablaa.__proto__             bablaa.constructor           bablaa.hasOwnProperty
bablaa.isPrototypeOf         bablaa.propertyIsEnumerable  bablaa.toLocaleString        bablaa.toString              bablaa.valueOf               
bablaa.toExponential         bablaa.toFixed               bablaa.toPrecision           

> typeof babloo

'object'
> typeof bablaa

'number'

这里的“babloo”和“bablaa”有什么区别?是否存在需要以不同方式处理其用法的情况?

1 个答案:

答案 0 :(得分:1)

考虑:

var babloo = new Number(12);   //typeof babloo is "object"

它是使用Number constructor显式创建的,PrimitiveValue属性设置为12

考虑:

var bablaa = 12    //typeof bablaa is "number"

其原始数据类型编号为12。

它也使用Number constructor构造,但隐式使用Number作为包装器。

如果致电

Object.getPrototypeOf(babloo)  //Number

Object.getPrototypeOf(bablaa)     //Number

两者都将返回Number作为其原型。