js object 屬性判斷

2022-06-15 23:51:19 字數 1572 閱讀 4684

hasownproperty的作用是用來判斷乙個物件本身是否具有某個屬性或物件,物件本身的意思是指不包括它的原型鏈,個人覺得這個方法應該叫isownproperty更合適。

isprototypeof是用來判斷物件是否存在於另乙個物件的原型鏈中,如:

array.prototype.isprototypeof([1, 2, 3]);
幾個例子

下面幾個例子應該很好理解:

string.prototype.hasownproperty('split'); // 輸出 true

''.hasownproperty('split'); // 輸出 false

(}).hasownproperty('testfn'); // 輸出 true

更複雜一點的例子
function people(name);}

people.prototype.setgender = function(gender)

;var lxa = new people('小茗同學');

lxa.age = 24;

lxa.setgender('man');

console.log(lxa.hasownproperty('name')); // true

console.log(lxa.hasownproperty('age')); // true

console.log(lxa.hasownproperty('showname')); // true

console.log(lxa.hasownproperty('gender')); // true

console.log(lxa.hasownproperty('setgender')); // false

console.log(people.prototype.hasownproperty('setgender')); // true

console.log(people.prototype.hasownproperty('gender')); // false

console.log(people.prototype.isprototypeof(lxa)); // true

//isprototypeof錯誤寫法:lxa.isprototypeof(people)

instanceof操作符用於判斷:某個物件是否存在另外乙個要檢測物件的原型鏈上。

a instanceof b內部判斷邏輯是:沿著a的原型鏈一直往上找,如果發現a的隱式原型和b的原型相同,那麼就返回true

function myinstanceof(a, b) 

return false;

}myinstanceof(/1/g, regexp); // true

myinstanceof(/1/g, object); // true

myinstanceof(new date(), date); // true

js Object屬性及方法的理解

一下僅個人的理解。還是特別前調一下,因為內容中涉及大量我以為別人的想法,但或許是我人傻理解成了別人是那麼種想法 關於object,簡單的理解可以解釋為封裝物件,擁有屬性和方法。比如物件 貓,屬性 體重,方法 吃 那麼js如何定義物件兩者如何又有何區別 那麼由淺入深的來說說 一般情況下定義乙個物件 v...

js object的常用方法

1 for in 遍歷物件,返回物件的每乙個屬性 2 object.keys 遍歷物件,並返回乙個陣列,陣列的元素由物件的每個屬性構成 3 object.values 遍歷物件,並返回乙個陣列,陣列的每乙個元素由物件的屬性值組成 4 object.entries 遍歷物件,並返回乙個陣列,陣列的每乙...

js object如何獲取key值

報警處理 通過預定義的 h組 var isalarm false if calltype 3 console.log groupid 根據組號獲得組名 var aa this.homeu.pregroup console.log 根據組號獲得組名 aa var groupname aa.groupi...