无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網 會員登陸 & 注冊

JS原型和原型鏈

2020-05-18 15:23 作者:MagnumHou  | 我要投稿

一、原型和原型鏈

1.1 原型概述

原型prototype是每一個函數(shù)都默認自帶的屬性,它的值是一個對象,叫做原型對象。

對于構造函數(shù)來講,意義更大。因為通過構造函數(shù)可以實例化化對象,而每一個實例化的對象,都默認含有一個隱式的屬性 __proto__ 來指向該構造函數(shù)的原型對象。

原型的作用:為實例化對象提供共享的屬性和方法。

也就是說,在內存中開辟一塊共享的空間,供構造函數(shù)的實例化對象在調用時指向這一個共享的地址,節(jié)約內存。

1.2 原型鏈概述

每一個實例化對象,都有原型對象,原型對象本質還是一個對象,所以說原型對象上面可能還有原型對象。

當一個實例化對象,去調用某個屬性或方法時,它會先從自身查找,如果找到直接調用;如果找不到則去它的原型中查找,在原型中查找到則使用;如果它的原型中也沒有找到,那么繼續(xù)向上去原型的原型中查找,就這樣一層層的查找,形成一條鏈,這條鏈我們叫做原型鏈。一直找到,原型鏈的終點是 Object 的原型,如果還是找不到則返回undefined.

原型鏈關系圖
代碼演示

1.3 幾個相關屬性、方法、運算符介紹

prototype 屬性;允許您向對象添加屬性和方法

注:1. 這個屬性隨著函數(shù)的聲明而自動生成

????????2. 構造函數(shù)通過調用這個屬性自定義的共享屬性和方法可以被該構造函數(shù)的實例化對象調用

constructor 屬性;獲取實例化對象的構造函數(shù)

prototype 和 constructor屬性


instanceof 運算符;用于判斷實例化對象的原型鏈中是否出現(xiàn)過指定的構造函數(shù)

instanceof 運算符


isPrototypeOf() ?方法用于判斷原型對象和某個實例之間的關系

isPrototypeOf() ?方法


hasOwnProperty() ?方法判斷指定屬性是不是這個實例化對象的本地屬性

注:構造函數(shù)中定義的屬性和方法使本地屬性,隨著new的實例化對象的生成而生成,也就是對象本身具備的屬性和方法

返回值 ?是一個布爾值,本地屬性返回true ?非本地屬性返回false

hasOwnProperty() ?方法


in 運算符 ?判斷某個屬性可不可以被某個實例調用

in 運算符


in運算符還可以用于對對象屬性和數(shù)組的遍歷。

in運算符遍歷數(shù)組和對象
歡迎關注


JS原型和原型鏈的評論 (共 條)

分享到微博請遵守國家法律
噶尔县| 卓资县| 古交市| 无锡市| 三江| 金堂县| 崇礼县| 潜江市| 汾西县| 隆安县| 佛坪县| 绥江县| 惠水县| 监利县| 通许县| 闸北区| 凉城县| 南丹县| 兴安县| 苍山县| 桐乡市| 通州区| 施秉县| 南昌县| 苏尼特右旗| 新蔡县| 大化| 磐安县| 高阳县| 眉山市| 建昌县| 南郑县| 静海县| 兴业县| 林西县| 梁平县| 沽源县| 济源市| 乌苏市| 沂水县| 安乡县|