js中的new与return
说到js中的new,我们都知道在new构造函数时,如果构造函数中有return时,则会优先返回return的值,那我们来看下实际是否时这样呢。
我也一直以为new是这个逻辑,直到看到这个,
var A = function() {
return '1111';
}
var a = new A();
a instanceof A; // true
实际a还是A的一个实例,并不是'1111'这个字符串。
最后,查询发现,当return的是基本变量的时候,并不会使用return的值。
所以,
var A = function() {
return new Number(123);
}
var a = new A(); // 这个a就是123啦
发现js坑好多,不过又消灭了一个。