当构造函数有返回值 + 赋值语句的返回值

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也被修改成最新的值
上一篇下一篇

猜你喜欢

热点阅读