Categories: CoffeeScript 教程

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:不要修改你不拥有的对象扩展内置的本地对象。对还是错?。)

唐伯虎点蚊香

前端小白,想各位学习!

Share
Published by
唐伯虎点蚊香

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

6 天 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

4 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

1 月 ago