CoffeeScript 扩展内置对象


本文整理自网络,侵删。

扩展内置对象

问题

你想要扩展一个类来增加新的函数或者替换旧的。

解决方案

使用 :: 把你的新函数分配到对象或者类的原型中。

String::capitalize = () ->
  (this.split(/\s+/).map (word) -> word[0].toUpperCase() + word[1..-1].toLowerCase()).join ' '

"foo bar     baz".capitalize()
# => 'Foo Bar Baz'

讨论

在JavaScript (同样地,在CoffeeScript )中,对象都有一个原型成员,它定义了什么成员函数能够适用于基于该原型的所有对象。在CoffeeScript中,你可以使用 :: 捷径来直接访问这个原型。

注意:虽然这种做法在很多种语言中相当普遍,比如Ruby,但是在JavaScript中,扩展本地对象通常被认为是不好的做法(可参考:可维护的JavaScript:不要修改你不拥有的对象;扩展内置的本地对象。对还是错?。)


标签:CoffeeScript

相关阅读 >>

CoffeeScript coffeescrip 的 type 函数

CoffeeScript 扩展内置对象

CoffeeScript 使用 html 命名实体替换 html 标签

CoffeeScript 大写单词首字母

CoffeeScript 由数组创建一个字符串

CoffeeScript 映射数组

CoffeeScript 更快的 fibonacci 算法

CoffeeScript 反转数组

CoffeeScript 匹配字符串

CoffeeScript 定义数组范围

更多相关阅读请进入《CoffeeScript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...