創(chuàng)建對(duì)象的幾種方式

第一種:對(duì)象字面量的方式

var person = {
                name: "小紅",
                age: 22,
                say:function(){
                    console.log(this.name+"今年"+this.age);
                }
            };
            person.say();

第二種:創(chuàng)建Object實(shí)例:

var obj = new Object();
            obj.name = "肥狗";
            obj.age = 23;
            obj.say = function(){
                console.log("我是"+this.name+"今年"+obj.age);
            }
            obj.say();

第三種:數(shù)構(gòu)造函數(shù)
無參數(shù)構(gòu)造函數(shù)

function Person(){
                this.name = "孫悟空";
                this.age = 18;
                this.gender = "男";
                this.sayName = function(){
                    console.log(this.name);
                }
                
            }
            var per = new Person();
            var per2 = new Person();
            console.log(per);
            console.log(per2);

帶參數(shù)的構(gòu)造函數(shù)

function Person(name,age,hobby){
                this.name = name;
                this.age = age;
                this.hobby = hobby;
                this.sayName = function(){
                    console.log(this.name);
                }
            }
            var people =  new Person("小妹",22,"跑步");
            var people2 =  new Person("小紅",22,"跑步");
            var people3 =  new Person("小黃",22,"跑步");
            console.log(people);
            console.log(people2);
            console.log(people3);

第四種:使用工廠方法創(chuàng)建對(duì)象

function creatPerson(name,age,tall){
                //創(chuàng)建一個(gè)新的對(duì)象
                var obj = new Object();
                //向?qū)ο笾刑砑訉傩?                obj.name = name;
                obj.age = age;
                obj.tall = tall;
                obj.sayName = function(){
                    console.log(this.name);
                }
                //將新的對(duì)象返回
                return obj;
            }
            var obj2 = creatPerson("孫悟空",18,"1.55米");
            var obj3 = creatPerson("豬八戒",35,"1.57米");
            var obj4 = creatPerson("白骨精",25,"1.50米");
            console.log(obj2);
            console.log(obj3);
            console.log(obj4);

第五種:原型方式創(chuàng)建對(duì)象

function Person(name,age){}
            Person.prototype.name = "SF";
            Person.prototype.age = 25;
            Person.prototype.say = function() { 
              alert(this.name+"是我的名字");
            }
            var my = new Person();
            my.say();

第六種:混合方式 (構(gòu)造函數(shù)+原型)創(chuàng)建對(duì)象

function Person(name,age) {
                   this.name = name;
                   this.age = age;
                }
                Person.prototype.say = function() { 
                  alert("我是"+this.name+",今年"+this.age);
                }
                var my = new Person("SF","25");
                my.say();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、一般來說,最簡單的創(chuàng)建方式就是字面量方式 或是創(chuàng)建一個(gè)Object實(shí)例,再給他添加屬性和方法 缺點(diǎn):很明顯,當(dāng)...
    無人問津的呢喃閱讀 417評(píng)論 0 0
  • 標(biāo)簽(空格分隔): js 1. 工廠模式 考慮到在ECMAScript中無法創(chuàng)建類,開發(fā)人員就發(fā)明了一種函數(shù),用函...
    lvyweb閱讀 199評(píng)論 0 0
  • 博客原文地址:Claiyre的個(gè)人博客 https://claiyre.github.io/博客園地址:http:...
    Claiyre閱讀 498評(píng)論 1 1
  • 早晨起來,我自己穿衣服,我長大了。我能幫媽媽打掃衛(wèi)生我長大了。媽媽出門,我自己在家也不害怕,我長大了。馬上要過新年...
    AR秀閱讀 217評(píng)論 0 0
  • 思來想去,行動(dòng)焦慮,忙忙綠綠不知所措,是愚者。 心若止水,波瀾不驚。隨心而動(dòng)劍指天涯,是智者。 過去有一位年輕和尚...
    貓黍閱讀 997評(píng)論 1 3

友情鏈接更多精彩內(nèi)容