鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ js 給構(gòu)造函數(shù)添加屬性

js 給構(gòu)造函數(shù)添加屬性

    var Foo = function(){
        this.age = 18;
        this.**getName** = function () {
            console.log('2');
        }
    }
    Foo.**getName** = function () {
        console.log('2');
    }
    

請(qǐng)問一下,這兩個(gè)getName屬性有什么區(qū)別嗎?

回答
編輯回答
拼未來

一個(gè)屬于Foo對(duì)象,一個(gè)屬于對(duì)象實(shí)例;

2018年1月17日 12:47
編輯回答
忘了我

一個(gè)是原型的屬性,一個(gè)是實(shí)例對(duì)象的屬性

2017年3月20日 04:48
編輯回答
巴扎嘿

構(gòu)造函數(shù)里面的屬性是添加到實(shí)例上面的;Foo.getNameFoo這個(gè)對(duì)象的屬性。
例如:var foo = new Foo(),此時(shí)foo這個(gè)實(shí)例的getName是構(gòu)造函數(shù)中添加的實(shí)例屬性,而Foo.getNameFoo對(duì)象的屬性

2017年7月11日 11:37
編輯回答
愛是癌

第一個(gè)是加在實(shí)例上,屬于實(shí)例屬性。
第二個(gè)是把構(gòu)造器當(dāng)做函數(shù)用的,getName直接加在構(gòu)造器上。

可以測試一下

var t = new Foo()
t.getName()   
t.constructor.getName()

觀察兩者的結(jié)果,相信你就能明白

2018年9月23日 20:15