JS判斷物件屬性是否在原型中

2021-10-19 23:48:17 字數 1314 閱讀 2216

object.hasownproperty:判斷屬性是否存在於例項中,存在例項中返回true,例如:

function student () 

student.prototype.name = "張三"

let student1 = new student();

console.log(student1.name) // 張三

console.log(student1.hasownproperty("name")) // false

student1.name = "李四"

console.log(student1.name) // 李四

console.log(student1.hasownproperty("name")) // true

in操作符:能夠訪問到屬性就為true,不管存在於例項還是原型中

function student () 

student.prototype.name = "張三"

let student1 = new student();

console.log(student1.name) // 張三

console.log("name" in student1) // true

student1.name = "李四"

console.log(student1.name) // 李四

console.log("name" in student1) // true

利用hasownproperty方法和in操作符就可以判斷乙個屬性到底是存在於例項中還是原型中:

function propertyisinprototype(object,propertyname) 

function student ()

student.prototype.name = "張三"

let student1 = new student();

console.log(student1.name) // 張三

console.log(propertyisinprototype(student1,"name")) // true

student1.name = "李四"

console.log(student1.name) // 李四

console.log(propertyisinprototype(student1,"name")) // false

判斷js物件是否擁有某屬性

兩種方式,但稍有區別 1,in 運算子1 2 3 varobj alert name inobj true alert tostring inobj true 可看到無論是name,還是原形鏈上的tostring,都能檢測到返回true。2,hasownproperty 方法1 2 3 varobj...

判斷JS物件是否擁有某屬性

兩種方式,但稍有區別 1,in 運算子 var obj alert name in obj true alert tostring in obj true 可看到無論是name,還是原形鏈上的tostring,都能檢測到返回true。2,hasownproperty 方法 var obj obj.h...

判斷JS物件是否擁有某屬性

判斷js物件是否擁有某屬性,兩種方法 1 in var obj alert name in obj true alert tostring in obj true 無論是name,還是原形鏈上的tostring,都能檢測到返回true。2 hasownproperty 方法 var obj obj....