从页面https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Details_of_the_Object_Model:
当 JavaScript 看到 new 运算符时,它会创建一个新的通用对象并将这个新对象作为 this 关键字的值传递给 WorkerBee 构造函数。构造函数显式设置项目属性的值,并隐式设置内部 proto属性的值为 WorkerBee.prototype 的值。(该属性名称在前面有两个下划线字符,在末尾有两个下划线字符。) proto属性确定用于返回属性值的原型链。一旦设置了这些属性,JavaScript 就会返回新对象,并且赋值语句将变量标记设置为该对象。
所以基本上如果我们有这个功能:
function Bee(first_name, second_name){
this.FirstName=name;
this.SecondName=name;
}
我想知道做类似var bee1 = new Bee("qwe", "asd"); 与:
var bee1={};
bee1.__proto__=Bee.prototype;
var r=Bee.call(bee1, "qwe", "asd");
if(r!==undefined){
bee1=r;
}