创建一个";“全局方法”;(?)在Javascript中

创建一个";“全局方法”;(?)在Javascript中,javascript,methods,Javascript,Methods,我想知道如何编写一个前缀为的方法,就像在.join()[for arrays]中那样,这样对于我拥有的任何[string type]变量,我都可以这样做 var myString.editAt(index) 无需接受恼人且视觉上不和谐的编辑(myString,index) 在查找这个问题的答案时(我不知道如何准确地表达它,这对我的搜索没有帮助),我找到的只是引用对象的特定(?)方式,即具有给定变量名的对象,而且新的构造函数存在问题,我使用它作为许多代码的基本部分 我不完全确定这是否意味着我想要

我想知道如何编写一个前缀为
的方法,就像在
.join()
[for arrays]中那样,这样对于我拥有的任何[string type]变量,我都可以这样做

var myString.editAt(index)
无需接受恼人且视觉上不和谐的编辑(myString,index)

在查找这个问题的答案时(我不知道如何准确地表达它,这对我的搜索没有帮助),我找到的只是引用对象的特定(?)方式,即具有给定变量名的对象,而且
新的
构造函数存在问题,我使用它作为许多代码的基本部分

我不完全确定这是否意味着我想要一个与类或对象关联的方法


有人能给我一些建议吗?请记住,我可能没有用正确的技术术语来回答这个问题——这更像是出于好奇而提出的问题。谢谢。

这就是如何使用原型向现有Javascript对象动态添加函数的方法。这只是一个随机示例,您需要使用与子字符串不同的方法

if (typeof String.prototype.editAt !== 'function') {
    String.prototype.editAt = function(index) {
        return this.substring(index);
    };
}

var myString = "hello";
var editString = myString.editAt(1);

你想扩展一个原型。当然,举个例子,我们需要知道你的新方法应该做什么,你想扩展哪个原型。可能的重复是“变异DNA序列”,即在指定的字符索引处更改字符串。JS除了
substr(开始)+change+substr(其余)
之外没有其他选择,我一直在寻找一种方法来避免在进程中生成非常难看的代码。子字符串正是我想要的!好吧,
substr()
干杯!对于虚拟记录,执行此操作的最终代码如上所述,除了
函数(index,mut){返回this.substr(0,index)+mut+this.substr(index+1,this.length);}
:)@Immx还应注意,不建议扩展内置对象,因为在对象属性的枚举中,它会因..而中断,可能与ECMAScript的未来扩展发生冲突,也可能与其他在同一空间中编码的扩展发生冲突。但是,这些可能不是您关心的问题。@RobG Breaking封装是我认为的术语,也是一个参考: