“prototype”字面翻译是“原型”,是javascript实现继承的主要手段。粗略来说就是:prototype是javascript中的函数(function)的一个保留属性,并且它的值是一个对象(我们可以称这个对象为"prototype对象")。
Prototype注意的细节:
1. prototype是函数(function)的一个必备属性(书面一点的说法是"保留属性")(只要是function,就一定有一个prototype属性)
2. prototype的值是一个对象
3. 可以任意修改函数的prototype属性的值。
4. 一个对象会自动拥有prototype的所有成员属性和方法。
应用场景:扩展一个对象的方法或者属性。
代码示例:
1 <script type="text/javascript"> 2 /* 3 练习: 给字符串对象添加一个toCharArray的方法,然后再添加一个reverse(翻转)的 方法 4 */ 5 6 //把 字符串转换成字符数组 7 String.prototype.toCharArray = function(){ 8 var arr = new Array(); 9 for(var index = 0; index<this.length ;index++){ 10 arr[index] = this.charAt(index); 11 } 12 return arr; 13 } 14 15 16 17 String.prototype.reverse = function(){ 18 //想把字符串转换成字符数组 19 var arr = this.toCharArray(); 20 arr.reverse(); 21 return arr.join(""); 22 } 23 </script>