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屬性最初是用來標識物件型別的,但...