溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript_構(gòu)造函數(shù)/原型/實(shí)例對象的關(guān)系

發(fā)布時間:2020-05-24 08:54:19 來源:網(wǎng)絡(luò) 閱讀:1721 作者:Mr_LiuT 欄目:web開發(fā)

JavaScript_構(gòu)造函數(shù)/原型/實(shí)例對象的關(guān)系
1.所有的實(shí)例對象都有隱式原型屬性。
2.每一個函數(shù)function都有一個prototype顯示原型屬性。
3.對象的隱式原型的值為其對應(yīng)構(gòu)造函數(shù)的顯式原型的值。
4.函數(shù)的prototype屬性: 在定義函數(shù)時自動添加的, 默認(rèn)值是一個空Object對象。
5.對象的proto屬性: 創(chuàng)建對象時自動添加的, 默認(rèn)值為構(gòu)造函數(shù)的prototype屬性值。
6.function Foo{}等于var Foo = new Function()所以有隱式原型屬性,即所有函數(shù)都有隱式和顯示原型屬性。
7.所有函數(shù)的隱式原型都相等,都是new Function產(chǎn)生的。
8.function Function()既有顯示原型屬性也具有隱式原型屬性且相同,說明Function=new Function。
9.function Object()的隱式原型等于function Function的顯示原型,進(jìn)一步說明每個函數(shù)都是Function的實(shí)例(包括他本身)。
10.函數(shù)的顯示原型指向的對象, 默認(rèn)是空的Object實(shí)例對象,單Object不滿足。
注:Function的顯示原型也是Object的實(shí)例
11.Object原型對象是原型鏈的盡頭,即null

function Fn(){
            this.test1 = function(){
                console.log('test1()');
            };
        }

        Fn.prototype.test2 = function(){
            console.log('test2()');
        };

        var fn = new Fn();

        console.log(Fn.prototype instanceof Object)//true
        console.log(Object.prototype instanceof Object)//false
        console.log(Function.prototype instanceof Object)//true
        console.log(Function.__proto__===Function.prototype)//true
        console.log(Object.prototype.__proto__)//null
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI