写Prever Start的时候,曾遇到过这样的问题,就是通过new关键字实例化一个对象,却希望它的原型在运行之前能具备一些外来的属性,可惜的是像这样:
var obj=new myClass();
只有一个语句,怎么添加这些属性呢?
这个我们需要从JS中类实例化的实现原理上来讲了(声明,我也只是听说,但的确管用)。听群里的高手说,上面的那个语句就等价于:
var obj={};
myClass.call(obj);
我就不解释意思了,很明显的,两个代码之间的间隔给我们的操作提供了可能。
var obj={};
//在这里添加,如:
obj.ID=123;
myClass.call(obj);
不过我想一般可能用不到这样的写法,但既然曾经用到过就有它的价值,在此分享下。