阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

    教程列表

    数据库
    抓包专区
    测试专区

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

    卖前端学习教程

    只需几十元,就能买到培训班的内部教程!开启高薪之路!

    零基础小白阿里P7的教程都有!

    同时长期收购所有培训班的前端教程

    目录
    目录