var mark = new Mark();
mark["type"] = mark["type"];
给人的直觉是这个语句肯定没有意义,实际上如果开始的时候 mark没有type属性
但是mark的 prototype中有这个属性,就像下面这样,
function P(){
this.type = "type";
}
function Mark(){
this.name = "name";
}
Mark.prototype = new P();
var mark = new Mark();
mark["type"] = mark["type"];
并且把prototype中的type属性的值赋给它,
执行完这句之后你会发现mark中也有了type属性,
在这之前只有它的prototype中有type属性