当构造函数有返回值 + 赋值语句的返回值
2017-08-21 本文已影响0人
shanshanfei
function Person(){
this.age = 18;
//return 123;//返回简单类型
return {age: 20};//返回一个对象
}
var p = new Person();
alert(p.age);// 18 || 20
//构造函数的规范定义:
//当构造函数返回简单类型时,与无return语句时表现是一样的,返回实例化的对象,
//当返回是引用类型对象时,则返回引用对象的值。
====================================
var obj = {member:33};
function setMember(p){
return obj.member = p;
}
console.log(obj.member);//33
console.log(setMember({ss: 123}));//{ss:123} 返回赋值语句右边的值
console.log(obj.member);//{ss:123} setMember的return语句 也是执行了的,即obj.member也被修改成最新的值