最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

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原型和原型鏈的評論 (共 條)

分享到微博請遵守國家法律
合江县| 仁寿县| 皮山县| 宜春市| 台东县| 论坛| 南部县| 兴安县| 东丰县| 南充市| 梅州市| 冀州市| 西林县| 岚皋县| 依兰县| 平原县| 太白县| 英超| 朔州市| 如皋市| 高要市| 盐源县| 武隆县| 南木林县| 施甸县| 绵阳市| 韩城市| 衡水市| 农安县| 贵阳市| 桦甸市| 贺州市| 兴隆县| 河池市| 万州区| 游戏| 商水县| 黄大仙区| 江山市| 儋州市| 河源市|