CoffeeScript 教程
CoffeeScript 教程介绍
CoffeeScript 实用手册 CoffeeScript是一门编译到JavaScript的小巧语言。在Java般笨拙的外表下,JavaScript其实有着一颗华丽的心脏。Cof…
CoffeeScript 语法
在上一章中,我们已经看到如何安装CoffeeScript。在本章中,我们来看一下CoffeeScript的语法。 与JavaScript的语法相比,CoffeeScript的语法更…
CoffeeScript 服务端和客户端的代码重用
服务端和客户端的代码重用 问题 当你在CoffeeScript上创建了一个函数,并希望将它用在有网页浏览器的客户端和有Node.js的服务端时。 解决方案 以下列方法输出函数: #…
CoffeeScript 比较范围
比较范围 问题 如果你想知道某个变量是否在给定的范围内。 解决方案 使用CoffeeScript的连缀比较语法。 maxDwarfism = 147 minAcromegaly =…
CoffeeScript For 循环
For 循环 问题 你想通过一个for循环来迭代数组、对象或范围。 解决方案 # for(i = 1; i<= 10; i++) x for x in [1..10] # =…
CoffeeScript 对象的链式调用
对象的链式调用 问题 你想调用一个对象上的多个方法,但不想每次都引用该对象。 解决方案 在每次链式调用后返回this(即@)对象 class CoffeeCup construct…
CoffeeScript 类方法和实例方法
类方法和实例方法 问题 你想创建类和实例的方法。 解决方案 类方法 class Songs @_titles: 0 # Although its directly accessib…
CoffeeScript 克隆对象(深度复制)
克隆对象(深度复制) 问题 你想复制一个对象,包含其所有子对象。 解决方案 clone = (obj) -> if not obj? or typeof obj isnt o…
CoffeeScript 类的混合
类的混合 问题 你有一些通用方法,你想把他们包含到很多不同的类中。 解决方案 使用mixOf库函数,它会生成一个混合父类。 mixOf = (base, mixins…) -&…
CoffeeScript 创建一个不存在的对象字面值
创建一个不存在的对象字面值 问题 你想初始化一个对象字面值,但如果这个对象已经存在,你不想重写它。 解决方案 使用存在判断运算符(existential operator)。 wi…
CoffeeScript CoffeeScrip 的 type 函数
CoffeeScrip 的 type 函数 问题 你想在不使用typeof的情况下知道一个函数的类型。(要了解为什么typeof不靠谱,请参见 http://javascript.…
CoffeeScript 大写单词首字母
大写单词首字母 问题 你想把字符串中每个单词的首字母转换为大写形式。 解决方案 使用“拆分-映射-拼接”模式:先把字符串拆分成单词,然后通过映射来大写单词第一个字母小写其他字母,最…
CoffeeScript 查找子字符串
查找子字符串 问题 你想在一条消息中查找某个关键字第一次或最后一次出现的位置。 解决方案 分别使用JavaScript的indexOf()和lastIndexOf()方法查找字符串…
CoffeeScript 生成唯一 ID
生成唯一ID 问题 你想随机生成一个唯一的标识符。 解决方案 可以根据一个随机数值生成一个Base 36编码的字符串。 uniqueId = (length=8) -> id…
CoffeeScript 字符串插值
字符串插值 问题 你想创建一个字符串,让它包含体现某个CoffeeScript变量的文本。 解决方案 使用CoffeeScript中类似Ruby的字符串插值,而不是JavaScri…
CoffeeScript 匹配字符串
匹配字符串 问题 你想要匹配两个或多个字符串。 解决方案 计算把一个字符串转换成另一个字符串所需的编辑距离或操作数。 levenshtein = (str1, str2) ->…
CoffeeScript 重复字符串
重复字符串 问题 你想重复一个字符串。 解决方案 创建一个包含n+1个空元素的数组,然后用要重复的字符串作为连接字符将数组元素拼接到一起: # 创建包含10个foo的字符串 Arr…
CoffeeScript 拆分字符串
拆分字符串 问题 你想拆分一个字符串。 解决方案 使用JavaScript字符串的split()方法: “foo bar baz”.split ” ” # => [ foo,…
CoffeeScript 清理字符串前后的空白符
清理字符串前后的空白符 问题 你想清理字符串前后的空白符。 解决方案 使用JavaScript的正则表达式来替换空白符。 要清理字符串前后的空白符,可以使用以下代码: ” padd…