构造函数的返回值

使用new操作符创建对象时,构造函数总会默认返回this所引用的对象。

如果在构造函数中不给this添加任何属性,将会返回“空”对象,这里的“空”,指的是除了从构造函数的原型中所继承的成员以外。​

构造函数隐式的返回this。但是我们可以根据需要返回任意其他对象。

 1 var Person = function(){
 2 
 3 this.name = 'jack';
 4 
 5 var that = {};
 6 
 7 that.name = 'Tom';
 8 
 9 return that;​
10 
11 }​
12 
13 var o = new Person();
14 
15 console.log(o.name);  // 'Tom'​

正如上面所见,可以在构造函数中自由的返回任意对象。

试图返回并非对象的值,虽然不会造成错误,但是函数会忽略该值,相反,将会返回this所引用的对象。​

posted @ 2016-06-24 14:22  黑白红尘  阅读(803)  评论(0编辑  收藏  举报