先附上一段代码
function fTest(name){}
fTest.prototype.name = "hello";
fTest.prototype.setname = function(name){
this.name = name;
};
fTest.prototype.getname = function(){
console.log(this.name);
};
var oTest1 = new fTest();
var oTest2 = new fTest();
oTest2.__proto__ === oTest1.__proto__;//返回true
然后就是我查看了下oTest1中的属性,发现有name,一点疑问,我之前对他的理解都是fTest.prototype.name = "hello";,这句话表明在fTest.prototype中有一个变量为name,然后oTest1和oTest2全部指向他,我的理解是两个共有的一个属性,只要在一个改变了,那另一个去访问也会变化,但是我实际看了下在OTest1对象中有name,这个我在function fTest(name){}中又没进行申明,为啥有这个属性呢?
我的一点怀疑是不是我这个东西的this出了问题,有点乱指了,一点感觉不知道对不对,还望前辈们指点下问题
function fTest(name){}
fTest.prototype.name = "hello";
fTest.prototype.setname = function(name){
this.name = name;
};
fTest.prototype.getname = function(){
console.log(this.name);
};
var oTest1 = new fTest();
var oTest2 = new fTest();
oTest2.__proto__ === oTest1.__proto__;//返回true
然后就是我查看了下oTest1中的属性,发现有name,一点疑问,我之前对他的理解都是fTest.prototype.name = "hello";,这句话表明在fTest.prototype中有一个变量为name,然后oTest1和oTest2全部指向他,我的理解是两个共有的一个属性,只要在一个改变了,那另一个去访问也会变化,但是我实际看了下在OTest1对象中有name,这个我在function fTest(name){}中又没进行申明,为啥有这个属性呢?
我的一点怀疑是不是我这个东西的this出了问题,有点乱指了,一点感觉不知道对不对,还望前辈们指点下问题