javascript原型prototype浅识

C++,java是基于类的语言,主要通过类来实现继承。

javascript是基于原型的语言,通过原型来实现继承。

什么是原型?每种物质,都可以追根溯源,原型就是对象的根源。继承就是追根溯源。

javascript里谈继承,只涉及到一个东西:对象Object。每个对象都有自己的原型,都可以从自己的原型处继承属性或者方法。

每个对象都有自己的prototype,逐层追溯,直到null,形成所谓的原型链。

null对象是原型链的终点,追根溯源止于null.

当获取一个属性,或者调用一个方法,都是按此原型链追溯,如果直到null都没有找到,就返回undefined。

var o={mem:1};  //Object
//原型链:o==>Object.prototype==>null var a=["kim","joe",""]; //Array
//原型链:a==>Array.prototype==>Object.prototype==>null var f =function(){
return true;
} //function
//原型链:a==>Function.prototype==>Object.prototype==>null
上一篇:现代软件工程作业 第二章 学习github笔记


下一篇:JS基础回顾,小练习(克隆对象,数组)