JavaScript學習筆記 isPrototypeOf和hasOwnProperty使用區別

1、isPrototypeOf

isPrototypeOf是用來判斷指定對象object1是否存在於另一個對象object2的原型鏈中,是則返回true,否則返回false。

格式如下:

object1.isPrototypeOf(object2); 

object1是一個對象的實例;
object2是另一個將要檢查其原型鏈的對象。

原型鏈可以用來在同一個對象類型的不同實例之間共享功能。
如果 object2 的原型鏈中包含object1,那麼 isPrototypeOf 方法返回 true。
如果 object2 不是一個對象或者 object1 沒有出現在 object2 中的原型鏈中,isPrototypeOf 方法將返回 false。

例子:

function Rectangle() {
}

var rec = new Rectangle();

console.log(Rectangle.prototype.isPrototypeOf(rec));
// Output: true

參考:https://msdn.microsoft.com/library/bch72c9e(v=vs.94).aspx

2、hasOwnProperty

hasOwnProperty判斷一個對象是否有名稱的屬性或對象,此方法無法檢查該對象的原型鏈中是否具有該屬性,該屬性必須是對象本身的一個成員。
如果該屬性或者方法是 該對象 自身定義的 而不是 原型鏈 中定義的 則返回true;否則返回false;

格式如下:

object.hasOwnProperty(proName); 

判斷proName的名稱是不是object對象的一個屬性或對象。
轉自:http://www.cnblogs.com/ppforever/p/3921481.html

發佈了179 篇原創文章 · 獲贊 82 · 訪問量 55萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章