JS中构造函数与函数

//构造函数中,如果返回的是一个对 象,那么就保留原意. 如果返回的是非对象,比如数字、布尔和字符串,那么就返回 this,如果没有 return 语句,那么也返回this.

         var myFun1 = function(){
            
            this.name = "LiuYashion1";
            self1 = this;
            return 'BOY'
            
        }
       

        var myFun2 = function(){
            
            this.name = "LiuYashion2";
            return {
                sex:'BOY'
            };
            
        }
        
        var temp1 = new myFun1();
        var temp2 = new myFun2();
        
        console.log(temp1);              //myFun1 {name: "LiuYashion1"}
        console.log(temp1.name);    //LiuYashion1
        
        console.log(temp2);              //Object {sex: "BOY"}
        console.log(temp2.name);    //undefined
        console.log(temp2.sex);       //BOY
        
        console.log(myFun1());        //BOY
        console.log(myFun2());        //Object {sex: "BOY"}