javaScript中,原型是常用到一种方式,它能降低内存占用,写出更高效的代码
原型常用到的则是prototype属性
JavaScript prototype 属性
定义和用法
prototype 属性允许您向对象添加属性和方法
注意: Prototype 是全局属性,适用于所有的Javascript对象。
这是来自菜鸟教程的解释
现在,为验证prototype用法,我用如下代码进行测试
1 <script> 2 Person.prototype.Lname = 'xiaohuang'; 3 Person.prototype.modd = 'unhappy'; 4 function Person(name,age,sex){ 5 this.name = name ; 6 this.age = age ; 7 this.sex = sex; 8 } 9 var person = new Person('andi',18,'man'); 10 Student.prototype = person; 11 function Student(tel,grade){ 12 this.tel = tel; 13 this.grade = grade ; 14 } 15 var student = new Student(123,1); 16 </script>
很明显的是,原型是生效的,且student继承了Person而且还能继承到Person前到原型
原型属性构成了一个链状结构,这便是原型链,而且原型是有系统默认原型属性的
写一个空原型
1 <script> 2 function A(){} 3 var a = new A(); 4 </script>
可以看到空原型也是有内部属性的,它们是系统的proto
也可以去调用一些系统的方法,十分有趣。
博主是初学者,可能理解上会有错误,若有错误,求指正,谢谢