js面向对象之原型链
Posted 糊涂一点web
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js面向对象之原型链相关的知识,希望对你有一定的参考价值。
对于c/c++/java,继承的方法直接用相应的语法继承,但是javascript不一样,js是采用原型继承的思路来实现面向对象的。
js-类
在js中并没有class的概念,使用了一个函数,运行new的时候会为函数生成一个对象,对象含有隐藏的属性_proto_,这个属性的值就是对fun.prototype的引用。
例如下面的person函数:
function Person(name, gender) { this.name = name; this.gender = gender; } var a = new Person("jason", ‘male‘); var b = new Person("Amy", ‘female‘); console.log(a.name); console.log(b.gender);
共享属性和方法
为了共享属性和方法,就要用的这个属性--prototype,每个函数都有prototype属性,通常是一个空的对象。如果加点东西,那么这个函数构造出来的对象都能访问到。
以上是关于js面向对象之原型链的主要内容,如果未能解决你的问题,请参考以下文章