Javascript原型相關的函式

2021-07-12 06:36:14 字數 1548 閱讀 7455

測試乙個物件的原型是否是乙個類的原型的方法。例如

function person(){}

person.prototype.name=」leo」;

var p1=new person();

person.prototype. isprototypeof(p1);//將會返回true,這句**的意思是,person的

//原型是否是p1的原型

獲取物件原型的方法。

例如上面的例子:alert(object.getprototypeof(p1)==person.prototype);//返回true

此方法支援的瀏覽器有ie9+ 、firefox3.5+ 、safari5+ 、opera12+ 、chrom

檢測屬性是在例項還是原型中的方法。示例:

function person(){}

person.prototype.name=」leo」;

var p=new person();

console.log(p. hasownproperty(「name」));//打出false

p.name=」linda」;

console.log(p. hasownproperty(「name」));//打出true

示例:

function person(){}

person.prototype.name=」leo」;

var p=new person();

console.log( 「name」 in p);//打出true

p.name=」linda」;

console.log( 「name」 in p);//打出false

結論:in是檢測乙個屬性是否在乙個物件中的,無論這個屬性是在例項還是原型,只要這個屬性存在於物件中,並且是可訪問的,就返回true於是,根據hasownproperty和in操作符,我們可以判斷原型是否有某個屬性

function hasprototypeproperty(obj,property)

獲取所有可列舉的例項屬性,注意,獲取的是例項屬性,不是原型的

示例:

function person()

person.prototype.age=18;

var person=new person();

console.log(object.keys(person));//列印出name

獲取所有例項屬性,無論屬性是否可列舉。在高版本瀏覽器中可能效果跟keys一樣,只能獲取可列舉的例項屬性。

示例:

function person()

person.prototype.age=18;

var person=new person();

console.log(object. getownpropertynames (person));//列印出name或

// name,constructor

注意這裡獲取的也是例項的屬性,但是此方法可以將不可列舉的屬性也獲得,例如constructor,在高版本瀏覽器可能獲取不到constructor

JavaScript的原型鏈

首先介紹下原型 原型的作用 把方法放到原型中,就可以讓同型別的物件共享 當我建立乙個建構函式。建構函式裡有原型。通過 建構函式名.prototype獲取到當前建構函式的原型。function student name,age,gender this.sayhi function 原型內部自帶乙個co...

JavaScript原型以及原型鏈

原型物件的用途是為每個例項物件儲存共享的方法和屬性,它僅僅是乙個普通物件而已。並且所有的例項是共享同乙個原型物件,因此有別於例項方法或屬性,原型物件僅有乙份。在訪問乙個物件的屬性的時候,首先在當前物件中找,如果沒有在其原型物件找 復用的內容放在prototype,讓類的例項擁有相同的功能 小紅書上的...

javascript之原型,原型鏈

1.定義 原型是function物件的乙個屬性,它定義了建構函式製造出的物件的公共祖先。通過該建構函式產生的物件,可以繼承該原型的屬性和方法。原型也是物件。2.利用原型特點和概念,可以提取共有屬性。3.物件如何檢視原型 隱式屬性 proto 4.物件如何檢視物件的建構函式 constructor v...