Javascript 原型中的注入方法,而不是分配
我正在阅读源代码,我试图理解为什么作者在构造函数的原型中注入方法,而不仅仅是分配它们:Javascript 原型中的注入方法,而不是分配,javascript,prototype,Javascript,Prototype,我正在阅读源代码,我试图理解为什么作者在构造函数的原型中注入方法,而不仅仅是分配它们: function VerbalExpression() { var verbalExpression = new RegExp(); // Add all the class methods VerbalExpression.injectClassMethods(verbalExpression); // Return the new object. return
function VerbalExpression() {
var verbalExpression = new RegExp();
// Add all the class methods
VerbalExpression.injectClassMethods(verbalExpression);
// Return the new object.
return verbalExpression;
}
/**
* @param {RegExp} verbalExpression An instance of RegExp on which to add VerbalExpressions methods
* @return {RegExp} A new instance of RegExp with injected methods
*/
VerbalExpression.injectClassMethods = function injectClassMethods(verbalExpression) {
var method;
// Loop over all the prototype methods
for (method in VerbalExpression.prototype) {
// Make sure this is a local method.
if (VerbalExpression.prototype.hasOwnProperty(method)) {
// Add the method
verbalExpression[method] = VerbalExpression.prototype[method];
}
}
return verbalExpression;
};
它与性能有关吗
谢谢。他们正在分配
orarpression[method]=orarpression.prototype[method]中的方法代码>。我不太明白你在搞什么。嗯,我不明白什么是FORT他们正在扩展一个带有自定义属性的正则表达式对象。他们在orbalexpression[method]=orbalexpression.prototype[method]中分配方法代码>。我不太明白你对什么感到困惑。嗯,我不明白什么是FORT他们正在用自定义属性扩展正则表达式对象。