javaScript 原型与原型链学习笔记

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>

javaScript  原型与原型链学习笔记

很明显的是,原型是生效的,且student继承了Person而且还能继承到Person前到原型

原型属性构成了一个链状结构,这便是原型链,而且原型是有系统默认原型属性的

写一个空原型

1         <script>
2             function A(){}
3             var a = new A();
4         </script>

可以看到空原型也是有内部属性的,它们是系统的proto

javaScript  原型与原型链学习笔记

也可以去调用一些系统的方法,十分有趣。

 

 

 

博主是初学者,可能理解上会有错误,若有错误,求指正,谢谢

 

上一篇:Javascript事件设计模式(七)


下一篇:Python基础学习07