91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

用實例詳解JS原型對象操作

發布時間:2020-07-18 10:12:58 來源:億速云 閱讀:126 作者:小豬 欄目:web開發

這篇文章主要用實例詳解JS原型對象操作,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

本文實例講述了JS原型對象操作。分享給大家供大家參考,具體如下:

萬物皆對象,函數也同樣是對象,是特殊的函數對象

function fn() {}
let a = new fn();
let b = new Function()

console.log(typeof a);  // object 
console.log(typeof b);  // function

打開瀏覽器,輸入fn,會發現fn有一個prototype(原型)屬性,這個屬性是一個指針,指向原型對象,這個對象包括了特定類型所有共享的屬性和方法。
換句話說,prototype對象包含了函數所有的共享屬性和方法。

function fn() {}
fn.prototype.a = 18;
fn.prototype.b = "b";
fn.prototype.test = function() {
 console.log(123);  
}
var r = new fn();
console.log(r.a);  // 18

我們直接在函數fn的原型屬性上加了兩個屬性和一個方法,實例化后便可以訪問原型中的值。

  • 原型對象有一個constructor屬性,它也是一個指針,它指向原來的函數,也就是說,fn.prototype.constructor == fn。
  • 所有的實例都有這個原型對象,因此實例可以訪問到原型對象中的屬性和方法。

用實例詳解JS原型對象操作

那么實例怎么搜索變量或者方法的值呢?首先,函數實例會在函數本身上去尋找該變量,如果沒有找到,會在原型對象上尋找變量。

function fn() {}
fn.prototype.a = 18;
fn.prototype.b = "b";
fn.prototype.test = function() {
 console.log(123);
}
var a = new fn();
var b = new fn();
b.a = 20
console.log(b.a);  // 20
console.log(a.a);  // 18

創建了兩個實例,在b實例上手動添加了一個a屬性,在fn的原型對象上也有一個a屬性,那么對于b實例會優先訪問本身的屬性而不是原型上的屬性。

以上就是關于用實例詳解JS原型對象操作的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

连州市| 滕州市| 汉阴县| 山阴县| 含山县| 济阳县| 克拉玛依市| 曲阜市| 惠安县| 镇宁| 湘阴县| 三江| 麻城市| 那曲县| 普洱| 平定县| 哈尔滨市| 宾阳县| 瑞丽市| 霍城县| 白山市| 会昌县| 响水县| 佳木斯市| 繁昌县| 汶上县| 济南市| 扎赉特旗| 博客| 惠水县| 鄄城县| 交城县| 乳源| 安阳县| 神木县| 施秉县| 通榆县| 葵青区| 鄂托克旗| 合川市| 阜平县|