JavaScript高级程序设计技巧 js是什么意思( 三 )


JavaScript高级程序设计技巧 js是什么意思

文章插图
补充的一点 。。。函数n能使用变量a,b和继承没有关系的,这是因为变量在全局域内具有传递性的特征 。接下来就是重点了,,原型链的继承机制 。看个例子:

JavaScript高级程序设计技巧 js是什么意思

文章插图

JavaScript高级程序设计技巧 js是什么意思

文章插图
通过右边的关系,B就可以实现使用A中内容了 。。同样如果想要A调用B中的内容,同样可以使用这样的原型链 。这就最简答的的 。。。那么我想要实现相互调用呢?他的机构图应该是这样的: 构造的程序:

JavaScript高级程序设计技巧 js是什么意思

文章插图

JavaScript高级程序设计技巧 js是什么意思

文章插图
我们来看看输出结果;第一次输出结果正确,实现了B对A的继承;

JavaScript高级程序设计技巧 js是什么意思

文章插图
第二次结果输出,未实现A对B的继承:

JavaScript高级程序设计技巧 js是什么意思

文章插图
这个问题说明了,结构并没有问题,那么问题就出现在我们的程序里了 。再看这个程序: 真正的结构框架:

JavaScript高级程序设计技巧 js是什么意思

文章插图

JavaScript高级程序设计技巧 js是什么意思

文章插图
好了 。。说了这么多原型的基本知识都介绍完了,还有一个地方就是 如何优化原型链的问题了;在优化原型链时,我做了许多猜想但都不能使用,所以我现在就只说一种能够拿过来用的的:原型链优化:老规矩,看程序:

JavaScript高级程序设计技巧 js是什么意思

文章插图
注意的是:此时A和B的原型地址指针都指向A,但是B原型中的内容将被释放,就是说虽然继承了A中的特性,但无法保留自身的特性了 。所以,在使用时,,我们把公有的特性写到原型里面,然后通过这种关系来优化,这样既保留的共性,也保留了自己的特性,两全其美了 。好了,好了,JavaScript中的高级特性基本上的重点就是这些了,这些基础是我们学习后面内容的关键,如果理解不好,后面基本都是在看天书了,还是那句话,博主文采有限,若有错误,希望及时纠错 。。。如果对你的学习有所帮助,那是我莫大的荣幸,,谢谢 。。