1. 程式人生 > >JS面向物件的三種寫法

JS面向物件的三種寫法

/*面向物件的三種寫法
 *1.建構函式
 *2.class類
 * 2.直接操作物件
 * */

    /**/
    function myShow(name){
        this.name = name;
        this.show();
    }
    myShow.prototype.show = function(){
        console.log(this.name);
    }
    new myShow("jinze");
    var a = new myShow("夏娜");
    console.log(a.__proto__);


    /**
     * 上面的這個面向物件程式,等價於,下面這個class方式寫出的類
     * 第二種寫法
     */

    class myShow2{
        constructor(name){
            this.name = name;
            this.show();
        }
        show(){
            console.log(this.name);
        }
    }
    new myShow2("admin");

    /*上面的這兩個面向物件程式,等價於,下面這個直接使用obj方式寫出的面向物件
     */
    var obj = {
        constr:function(name){
            this.name= name;
            this.show();
        },
        show:function(){
            console.log(this.name);
        }
    }
    obj.constr("zhangsan");