我目前正在 Titanium Studio 中使用 JavaScript (CommonJS),并且有一个关于原型设计的问题。
假设我想向现有的类添加一个新函数。例如:
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
我应该添加此代码的最合适的位置是什么,以便它立即可供所有类使用?
提前致谢。
好的,我找到了最佳答案(由 Ivan Škugor 提供),我想将其放在这里与有相同问题的人分享。感谢您的帮助。
“一般来说,扩展原生原型并不是一个好主意。在这种特殊情况下,在其他环境中这应该不是什么大问题,但通过使用 CommonJs,这是一个问题,因为每个 CommonJs 模块都是新的 JS 上下文,这意味着,干净的JS环境。所以,你对环境所做的任何事情(比如扩展原生原型)都不会反映在其他模块上。
因此,最好的方法是编写带有辅助函数的“utils”模块,并在需要的地方“需要”它。”
//utils.js
exports.trim = function(str) {
return str.replace(/^\s+|\s+$/g,"");
};
— 伊万·什库戈尔
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)