1.原型 (prototypr 原型屬性)
2.繼承
3.原型鏈
----------------------------------
prototypr 原型屬性
constructor 建構函式
----------------------------------
prototypr 原型屬性
為什麼使用原型? 原型可以達到繼承的目的
function person();
person.prototype.name = 'shaozhu';
person.prototype.age = 22;
person.prototype.action = function()
var person1 = new person();//例項化 可以享有裡面的所有屬性和方法
person1.name
person {}
//我們如果列印出person1 看看會是什麼
console.log(person1);
//發現有乙個 __proto__ 沒錯 我們如果要取原型裡面的東西 就要用這個來取值
原型的好處 相同的存在原型裡面 不相同的把它獨立出來
例子 修改例項的屬性 不影響其他例項的屬性
function person()
aa.prototype.action = function()
var aa = new aa("qqq",22);
var bb =new aa("www",23);
console.log(aa.action());//呼叫
bb.action()
"www"
----------------------------------
例子:function aa(name,age,hobby)
aa.prototype.action = function()
var aa = new aa("qqq",22,'寫**');
var bb =new aa("www",23,'搭訕');
console.log(aa.action());
名字:qqq,年齡:22,愛好:寫**
console.log(bb.action());
名字:www,年齡:23,愛好:搭訕
----------------------------------
公共的可以放在原型裡面 這個效果更高!!! 比如 action();
如果公共的不使用原型 多次的例項化之後 可能會出現記憶體的溢位!!
----------------------------------
繼承 !!!!!
繼承有兩種:介面繼承 實現繼承(js 只支援這個!)
function action(){};
action.prototype.cado = function()
function ben(){};
ben.prototype = new action();//繼承 全部都繼承了
var aa = new ben();//例項化 ben
aa.cado();
吃飯 睡覺
先從例項裡面找 例項裡面沒有 然後到原型裡面去找
原型鏈 繼承和繼承之間產生的關係鏈
delete 不能刪除繼承的東西
person1.__proto__.name='ben';//修改原型
總結:原型裡面放公用的 繼承 可以提高效率
JS學習筆記 物件導向
類 物件 類 模子 物件 產品 成品 蛋糕 物件 模子 類 array 類 arr 物件 array.push 錯 arr.push 對 new arr 錯 原型prototype 是加到類上面,而不是物件。混合方式構造物件 方法都是相同的,屬性都是不同的。方法 函式 屬性 變數 用 建構函式 加 ...
JS學習筆記 物件導向基礎
今天溫習了js的物件導向的知識,對這方面的知識做一次總結。首先是要理解物件和類。物件可以理解為乙個具體的實物,比如乙個人。而人有吃飯 睡覺等特性,把具有相同特性的物件進行分類,例如人類。物件和類的關係就是物件是類中某一具體的個體,類是許多具有相同特徵物件的抽象。物件由屬性和方法組成,通常在程式設計中...
03 學習PHP物件導向 this
php物件導向 this this是什麼 先看一下物件和類在記憶體中儲存在 s new saler 建立 s這個物件是通過new saler例項化了乙個物件並且將 s指向了這個物件所在的記憶體中,例項化,只是將類中的屬性都複製到物件的空間中,物件空間中並沒有物件的方法 this在類中的方法成員裡面就...