var Ctor=function(){};
function create(prototype){
Ctor.prototype = prototype;
var result = new Ctor();
console.dir(result);//name:'sde'
Ctor.prototype = null;//清空了prototype吗?
console.dir(result);//name
console.log(Ctor.prototype);//null
return result;
}
var obj2=create({name:'sde'});
alert(obj2.name);//name:'sde';
求大神讲解下Ctor.prototype=null之后都发生了什么变化?为什么Ctor.prototype = null之后为什么result还有name属性?
result不是Ctor的一个实例吗,那它的name不是也应该继承自Ctor.prototype?既然Ctor.prototype=null了,为什么result还有name属性?
不会对已经产生的对象有影响,后面new的就不行了。
类似这种情况。