js中函式 例項 原型屬性 建構函式的關係

2021-09-26 13:44:05 字數 709 閱讀 8298

1、任何函式,即function,都有乙個prototype屬性,即原型屬性。

2、任何prototype屬性中都有乙個construtor屬性,指向function

function test(){}

console.log(test.prototype.constructor==test) //true

3、當通過new 來建立function時,即建立了function的乙個例項物件,簡稱例項(建立例項物件的方法有多種,為了避免敘述複雜,這篇文章暫時不涉及)

4、new意思是新開闢了乙個記憶體空間(堆)來存放function的內容,例項物件指向這個記憶體空間的位址

5、在每個例項中定義的屬性只屬於例項自身,不共享。

6、function中的普通屬性,通過this指標來傳遞作用域。即,當需要new乙個例項時,函式中的屬性應該用this.name=***這種形式定義,則this作用域代表當前例項,新例項才能呼叫到這個屬性。不用this定義的變數預設都屬於windows物件(瀏覽器端)

function aaa()

{   this.name='sdf' //name屬於當前作用域的屬性

name1='aaaa' //name1屬於windows物件的屬性

var a1=new aaa();

console.log(a1.name) //正確,此時this指向a1

console.log(a1.name1)

js中 類 原型 建構函式

使用inherited函式建立物件 這個物件繼承原型物件中 function inherit p f.prototype p return new f 這個工廠方法返回乙個心得 範圍物件 function range from,to 原型物件定義方法,這些方法為每個範圍物件所繼承 range.met...

原型,建構函式,例項, proto

再說說 proto 這個孩子性格慢向,所以即使在現代瀏覽器廣為支援得今天也不建議使用,效能特別慢,而且影響所有來自該 prototype 的物件。只是拿出來了解了解 1.它是個啥?原型物件的屬性訪問器 object.prototype.proto 能夠暴露所有通過它訪問的物件的 prototype ...

JS 建構函式 原型 new

1 每個函式都有乙個prototype屬性,該屬性指向函式的原型物件,原型物件的用途是可以讓所有物件例項共享它所包含的屬性和方法。2 預設情況下,每個原型物件都會自動獲得乙個constructor屬性,該屬性指向prototype屬性所在的函式。constructor屬性最初是用來標識物件型別的,但...