建構函式和原型物件,以及例項之間的關係,
建構函式和原型物件,建構函式有個屬性propertype指向原型物件
原型物件有個屬性constructor指向了建構函式
建構函式和原型函式都是唯一的
例項是不唯一的,例項的方法可以從建構函式裡面查詢,找不到就去原型裡面找。原型和構造方法都是唯一的,但是在例項化過程當中,會給物件重新賦值,加上構造裡面預設的函式。
function person(name,age){
this.age = age;
this.name = name;
this.eat = function(){
console.log(this.name+」正在吃。。。」)
function man(***){
this.*** = ***;
person.call(this); //這種方式就像呼叫了:this.person()方法
//缺點:每乙個man物件裡面都會有乙個方法eat, 而如果放到原型當中,只有類上才有eat方法,也就是能夠節省很多放eat方法的空間,所有的例項都共享eat()方法
實現如下
function person(name,age){
this.age = age;
this.name = name;
function man(***){
this.*** = ***;
person.call(this); //這種方式就像呼叫了:this.person()方法
將person類中的eat()方法,放到person類的原型當中即可。
person. propertype.eat = function(){
console.log(this.name+」正在吃。。。」);
就能夠優雅的實現繼承了
js知識點整理 三
啥是閉包?閉包就是把某個變數或者函式給包裝起來 我們js當中會接觸很多的全域性變數,那如何保證我們的區域性變數在執行完函式之後還存在在我們的記憶體當中呢?就可以使用閉包 閉包總的來說是實現了作用域,使得程式能夠設計出更合理的,有層次的js 實現閉包的方式 function f1 nadd 沒有使用 ...
知識點整理
一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...
知識點整理
一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...