如何像 .toLowerCase() 一样使用全局方法扩展 JavaScript?

3

我想了解如何扩展JavaScript,添加一些类似于 toLowerCase() 的自定义方法。

比如说我想要一个 capitalize() 或者 addUnderscores() 方法,实际上任何方法都可以。我猜想有一种方法可以扩展或覆盖现有的方法。

另外,是否可以使用jQuery来实现这个功能?

1个回答

5
不需要使用jQuery,只需扩展你所需的特定类型的prototype
if (!String.prototype.capitalize) {
    String.prototype.capitalize = function() {
        return this.toUpperCase();
    }
}

'foobar'.capitalize(); // 'FOOBAR'

在这个函数中,this指的是你调用该方法的字符串。

1
虽然我认为 capitalize 更应该是 return this.slice(0,1).toUpperCase()+this.slice(1) :) - tkone
@tkone:是的,那样做更有意义。我真的没有好好想过那个问题。 :) - user1106925
1
我的意思是你的答案很到位,就像+1一样,不过无论如何都要感谢你 :) - tkone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接