javascript中为什么不能用原型对象继承属性?

《JavaScript面向对象精要》第五章的总结上说不能用原型对象继承属性,于是测试了下,越测试越混乱,后来看了https://segmentfault.com/a/11...这篇文章,又看了http://www.ruanyifeng.com/blo...这个,评论里有个小例子,尝试根据需要改了下,在谷歌浏览器控制台直接输入的代码如下:

function A(var1){
  this.var1 = var1;
}
A.prototype = {   var1:1}var b=new A();
b.var1 = 2;var c = new A();
console.log(b.var1); //输出2console.log(c.var1); //输出undefined
function A(){ //do noting}
A.prototype = {  var1:1}var b=new A();
b.var1 = 2;var c = new A();console.log(b.var1); //输出2console.log(c.var1); //输出1

想问这两个结果为什么输出不同?还有var1不是原型对象上加的属性么?第二段程序能输出c.var1为1不是说明还是能通过原型对象继承属性么?


一只萌萌小番薯
浏览 469回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript