非常簡單的直接用代碼說一下個人對 原型對象的理解
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script type="text/javascript">
function Person(name, gender) {
this.name = name;
this.gender = gender;
}
var p1=new Person("aaa","man"); //創建一個新的原型對象
var p2=new Person(); //每次以new 關鍵字調用時,會創建一個新的,獨立的內存空間
p1.sister="lucy"; //因爲空間獨立,修改其中一個,不會影響到另一個。
console.log(p1.hasOwnProperty('sister')); //true
console.log(p2.hasOwnProperty('sister')); //false
//如有業務需求,所有實例對象需要共享的屬性和方法,就用prototype屬性來設置
Person.prototype.age=18; //擴展自定義對象,這樣,所有通過Person 實例化的對象都可以訪問這個屬性
console.log(p1.age); //18
console.log(p2.age); //18
//當原型對象訪問一個它本身不存在的屬性或方法,系統會自動到原構造函數裏去找 這就是原型鏈
</script>
</body>
</html>
在網上找了一張圖貼上來: