我们都知道javascript因为具有了继承以及变量等等一系列的特性之后才被人们认为具有一门编程语言的资格,在后续的不断发展中,js在原生的基础上扩展了基于jquery等等的库,甚至衍生了像node.js一样的扩展语言,在最后上随着快速化,工程化,以及一些业务开发的需要,经过不断的完善,最后变成了一种angular的框架,这就是简单的js的发展历史,但是今天我们的重点不在于讲述js发展的历史,而注重在于分析其中原生态js的一些特性,诸如prototype。
译过来就是原型的意思,那么什么是原型呢?顾名思义,原型就是一个事物或者语言最开始,最原始的基础之处,然后在其的基础之上进行扩展和发展衍生,这就是原型的字面意思,但是事实上原型的概念也正是在这个意思。它主要告诉了我们js本身最为原生的一些特性,以及他的扩展,下面我就用一个代码事例来简述什么是原型。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> function show(){ var i = 0; } var obj = new show(); // console.log(obj); //----------------------------------------------------- // 构造一个动物 function animal(){ this.age = 20; this.move =function(){} } // 构造一个猫 function cat(){ this.move = function(){ console.log("脚"); } } // 实现猫继承动物 cat.prototype = new animal(); // 创建一个猫对象 var cat1 = new cat(); console.log(cat1); cat1.move(); </script> </body> </html>
我们通过这个例子就可以简单的了解我们js的原型思想,在例子中的猫,其实就是我们原生对象的一个原型,在经过一系列的继承以及发展之后,成了我们新的事物,这就是一个简单的js原型的列子。
原文:http://www.cnblogs.com/lanveer/p/4106935.html