小白有几个问题,理解的不太清除,也不好自己下结论,想请教一下各位大神,还请大神们不厌其烦的解答一下。
<script>
Bf.prototype.age = 30;
function Bf () {
this.name = 'zhang';
}
var bf = new Bf();
Gf.prototype = bf;
function Gf () {
this.height = 170;
}
var gf = new Gf();
</script>
第一个问题:
请问我想把Bf的实例化对象作为Gf的原型,那么Gf.prototype = bf;这样写,可行吗?因为我看到廖老师的博客里面采用的是一个空对象来进行过渡一下,可是有些地方是直接采用实例化对象来赋值的。哪种的比较好。
第二个问题:
那么当BF自己构造函数里面找不到相应的属性时,往上去找,是直接找BF的原型?还是先看BF构造函数里面有没有这个属性,如果没有就去BF的原型上找吗? (测试了一下,是先看里面有没有属性,再去找原型)
第三个问题:
当我希望Gf.prototype即使用bf作为原型,又希望自己在Gf.prototype上再定义一些属性,那么我是否可以这样改?
修改之前:
Gf.prototype = bf;
修改之后
Gf.prototype = {
xiongwei : 130,
__proto__ : bf // 这样写有问题的吗
}
先谢谢各位大神们了。
相关分类