原型链的结构(深入理解原型继承)和举例

来源:互联网 发布:淘宝双11业绩查询 编辑:程序博客网 时间:2024/06/04 23:27
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <script>        //1.什么是原型链?        //每个构造函数都有原型对象        //每个对象都会有构造函数        //每个构造函数的原型都是一个对象        //那么这个原型对象也会有构造函数        //那么这个原型对象的构造函数也会有原型对象        //这样就会形成一个链式的结构,称为原型链        //2.原型链结构的基本形式        function Person(name){            this.name = name;        }        var p = new Person();        //p ---> Person.prototype --->Object.prototype---->null        //属性搜索原则:        //1.当访问一个对象的成员的时候,会现在自身找有没有,如果找到直接使用,        //2.如果没有找到,则去当前对象的原型对象中去查找,如果找到了直接使用,        //3.如果没有找到,继续找原型对象的原型对象,如果找到了,直接使用        //4.如果没有找到,则继续向上查找,直到Object.prototype,如果还是没有,就报错        //原型继承概念        //通过修改原型链结构实现的继承,就叫做原型继承                //--------------简单举例---------------         //动物--->人---->老师---->坏老师        function Animal(){            this.gender = "male";        }        Human.prototype = new Animal();        Human.prototype.constructor = Human;        function Human(){            this.actionWay = "走路";        }        Teacher.prototype = new Human();        Teacher.prototype.constructor = Teacher;        function Teacher(){            this.skill = "教书";        }        BadTeacher.prototype = new Teacher();        BadTeacher.prototype.constructor = BadTeacher;        function BadTeacher(){            this.name = "老师--张";        }        var t = new BadTeacher();        console.log(t);            </script></head><body></body></html>

阅读全文
0 0