function fn(name){
this.name = name;
}
var a = new fn('123');
console.log(a.name); // yyy
//this碰到return时
function fn(name){
this.name = name;
return {}; // undefined
// return function(){}; //
// return undefined; // yyy
// return 1; // yyy
// return null // yyy
}
var a = new fn('yyy');
console.log(a.name); //undefined
如果返回值是一个对象,那么this指向的就是那个返回的对象,如果返回值不是一个对象那么this还是指向函数的实例。