オブジェクト-オブジェクトを作成するために一般的に使用される6つのメソッド

オブジェクト-オブジェクトを作成するために一般的に使用される6つのメソッド

コード上で言うことはあまりありません!!!

1.オブジェクトのインスタンス化

        //1对象实例化-(没对象?new一个不就完了^v^,>o<)
        var a = new Object();

2.文字による宣言方法

        //2字面量声明
        var b = {
            name:'张三';
        }

3.ファクトリーモデル

        //3 工厂模式
        function aa(name,age){
            //1) 原材料
            var bb = new Object();
            bb.name = name;
            bb.age = age;
            //2)加工
            bb.create = function(){
               console.log('我的名字是'+ bb.name+"年龄"+bb.age);
            }
            // 3)完工把对象返回出去
            return bb;
        }
        var zhangsan = aa('张三',18);
        var lisi = aa('李四',20);
        // console.log(zhangsan);
        // console.log(lisi);
        // console.log(zhangsan.create());

4.コンストラクター

        //4 构造函数
        function bb(name,age){
            this.name = name;
            this.age = age;
            this.create = function(){
               console.log('我的名字是'+ this.name+"年龄"+this.age);
            }
        }
        var ccc = new bb('赵六',21);
        var bbb = new bb('赵六',21);
        // console.log(ccc.create == bbb.create);
        //构造函数和工厂模式区别
        // 工厂模式里面要 new 一个对象 ,还需要return 这个对象

5.プロトタイプオブジェクト

        //5 原型对象
       function ooo(name,age){
           ooo.prototype.name = name;
        //    this.age = age;
       }
       var pp = new ooo('张三',19);
       var ll = new ooo('李四',20);
       console.log(pp.name == ll.name);  // true
       console.log(pp.age == ll.age);
       console.log('------');
       console.log(pp);
       console.log(ll);
       console.log('------');

6.混合モード(プロトタイプとコンストラクター)

        //6 混合模式(原型加构造函数 )
        function bb(name,age){
            this.name = name;
            this.age = age;
            this.create = function(){
               console.log('我的名字是'+ this.name+"年龄"+this.age);
            }
        }
        bb.prototype.run=function(){
            console.log(this.name+"会跑");
        }
        var eee = new bb();
        var ttt = new bb();
        // console.log(eee.run == ttt.run);
        console.log(eee.__proto__);
        console.log(bb.prototype);
        console.log(bb.prototype == eee.__proto__);
        eee.__proto__.abc=function(){
            alert('abc');
        }
        console.log(bb.prototype);
        var nnn = new bb();
        console.log(nnn);

要約:
// _proto_これはオブジェクト
のプロトタイプ追加メソッドです//プロトタイプこれはコンストラクターのプロトタイプ追加メソッドです

おすすめ

転載: blog.csdn.net/yuan_xiaoxin/article/details/109353290