在哪里添加字符串原型
Where to add String prototype
我目前正在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,"");
};
— 伊万·斯库戈尔
只要确保在任何代码尝试使用它之前定义它,你就会被设置!
您的示例很好用,因为大多数浏览器都有自己的 trim 方法,因此最好在添加自己的浏览器之前测试本机:
String.prototype.trim= String.prototype.trim || function(){
return this.replace(/^'s+/, '').replace(/'s+$/, '');
}
相关文章:
- 对象的原型是字符串的原型
- 从字符串原型javascript获取字符串值
- 它继承的字符串原型是什么
- 在哪里添加字符串原型
- 元素原型作为字符串
- 如何使用javascript在字符串对象中添加原型
- 节点 v0.10.25 中的字符串原型没有“endsWith”
- JavaScript 应用为字符串原型调用提供奇怪的输出
- 在字符串原型方法之后,after_Last,之前和before_Last之后实现(在javascript中)的更好方法
- 为原型中的函数创建字符串名称
- 原型和子字符串
- Javascript.我如何调用一个原型方法,给定该方法的名称为字符串加args
- 需要解释这个Javascript字符串资本主义原型
- Javascript原型字符串-访问字符串值
- 为什么String的方法.字符串字面值可用的原型
- 为什么JavaScript中的对象原型方法会覆盖字符串和数字原型方法?
- 如何扩展余烬.没有原型的字符串
- 如何在字符串原型扩展方法中使用字符串方法
- 为什么要分配字符串'原型'到一个变量,然后使用它来设置对象的原型
- 为什么字符串.原型替换在嵌套函数中不起作用