我想创建一个 js 库(用于帮助测试)。我希望这个库向X
数组或对象添加一种新方法。但是有些人可能不希望这种行为,而是更愿意能够选择名称(Y
而不是X
),甚至根本没有新方法,而是像使用它一样X(array).x()
。
有些人使用requireJs,但有些人不使用。那么提供这种新功能的最佳实践是什么?应该如何做到这一点以避免名称冲突并使库易于使用?
有没有办法在不污染命名空间的情况下提供新功能,让用户将其分配给他想要的任何变量?
澄清:
假设我想向打印“hello world”的数组添加一个方法。我可以提供一个全局变量“HelloWorldLibrary”,然后用户可以将它绑定到他想要的任何方法。但这已经将一个名称引入全局命名空间。有什么方法可以避免它还是正确的方法,我应该这样做?