javascript屬於原型繼承

用.__proto__查看原型

proto:Array所指的就是陣列的原型,透過下方測試後可以發現在原型中新增的屬性,陣列a和b中都可以看見 abc:'hi'。
var a = [1,2,3];
//在陣列原型中新增一個屬性,值為'hi'
a.__proto__.abc = 'hi';
var b = ['一','二','三'];
console.log(a);
console.log(b);

透果此方法在原型中新增一個涵式,讓全部Array原型都可以調用
在__proto__原型陣列中新增一個,getLast涵式 功能為{抓出陣列最後一個值},故a⇒3,b⇒三
var a = [1,2,3];
var b = ['一','二','三'];
a.__proto__.getLast = function(){
	return this[this.length - 1];
}
console.log(a.getLast(),b.getLast()); //3 三
在原型中新增一個getName的涵式,透過console.log觀察後,可以發現__proto__中的this也有涵式的特性,__proto__中沒有name所以(family.proto.getName()); ,為undefined
var family = {
	name : '瘦虎家'
}
family.__proto__.getName = function(){
	return this.name;
}
console.log(family.getName());//瘦虎家
console.log(family.__proto__.getName());//undefined
透過查找後,可以在變數a最頂層的__proto__發現新增在變數family.__proto__的getName
var a = [1,2,3];
var b = ['一','二','三'];
var family = {
	name : '瘦虎家'
}
family.__proto__.getName = function(){
	return this.name;
}
console.log(a,b);

在b新增一個name,在調用proto裡的getName來驗證
console.log(b.getName()) //靜臭家 ,驗證後沒毛病!
