关于javascript中的new

想请教一下各位,
这段代码为何返回的不是2?

var B=function(obj){
    if(obj){
        return obj;
    }
}
console.log(new B(2))  //输出:B{}

,而如果参数是引用类型就会返回参数,呵呵

console.log(new B([1,2,3]))  //输出:[1,2,3]
阅读 2k
评论
    4 个回答

    JS就是这样的,当构造函数中没用return时返回this,有return且返回的为对象时返回该对象,否则仍然返回this

      相似问题
      推荐文章