CoffeeScript 教程
CoffeeScript 数学常数
数学常数 问题 你需要使用常见的数学常数,比如π或者e。 解决方案 使用Javascript的Math object来提供通常需要的数学常数。 Math.PI # => 3.…
CoffeeScript 更快的 Fibonacci 算法
更快的 Fibonacci 算法 问题 你想计算出Fibonacci数列中的数值N ,但需迅速地算出结果。 解决方案 下面的方案(仍有需改进的地方)最初在Robin Houston…
CoffeeScript 平方根倒数快速算法
平方根倒数快速算法 问题 你想快速计算某数的平方根倒数。 解决方案 在QuakeⅢ Arena的源代码中,这个奇怪的算法对一个幻数进行整数运算,来计算平方根倒数的浮点近似值。 在C…
CoffeeScript 生成随机数
生成随机数 问题 你需要生成在一定范围内的随机数。 解决方案 使用JavaScript的Math.random()来获得浮点数,满足0<=X<1.0。使用乘法和Math…
CoffeeScript 转换弧度和度
转换弧度和度 问题 你需要实现弧度和度之间的转换。 解决方案 使用JavaScript的Math.PI和一个简单的公式来转换两者。 # 弧度转换成度 radiansToDegree…
CoffeeScript 一个随机整数函数
一个随机整数函数 问题 你想要获得两个整数(包含在内)之间的一个随机整数。 解决方案 使用以下的函数。 randomInt = (lower, upper) -> [lowe…
CoffeeScript 指数对数运算
指数对数运算 问题 你需要进行包含指数和对数的运算。 解决方案 使用JavaScript的Math对象来提供常用的数学函数。 # Math.pow(x, y) 返回 x^y Mat…
CoffeeScript 去抖动函数
去抖动函数 问题 你想只执行某个函数一次,在开始或结束时把多个连续的调用合并成一个简单的操作。 解决方案 使用一个命名函数: debounce: (func, threshold,…
CoffeeScript 当函数括号不可选
当函数括号不可选 问题 你想要调用一个没有参数的函数,但不希望使用括号。 解决方案 不管怎样都使用括号。 另一个方法是使用do表示法,如下: notify = -> aler…
CoffeeScript 递归函数
递归函数 问题 你想在一个函数中调用相同的函数。 解决方案 使用一个命名函数: ping = -> console.log “Pinged” setTimeout ping,…
CoffeeScript 提示参数
提示参数 问题 你的函数将会被可变数量的参数所调用。 解决方案 使用splat 。 loadTruck = (firstDibs, secondDibs, tooSlow…) …
CoffeeScript 检测与构建丢失的函数
检测与构建丢失的函数 问题 你想要检测一个函数是否存在,如果不存在则构建该函数。(比如Internet Explorer 8的ECMAScript 5函数)。 解决方案 使用存在赋…
CoffeeScript 扩展内置对象
扩展内置对象 问题 你想要扩展一个类来增加新的函数或者替换旧的。 解决方案 使用 :: 把你的新函数分配到对象或者类的原型中。 String::capitalize = () -&…
CoffeeScript AJAX
AJAX 问题 你想要使用jQuery来调用AJAX。 解决方案 $ ?= require jquery # 由于 Node.js 的兼容性 $(document).ready -…
CoffeeScript 创建 jQuery 插件
创建 jQuery 插件 问题 你想用CoffeeScript来创建jQuery插件。 解决方案 # 参考 jQuery $ = jQuery # 给 jQuery 添加插件对象 …
CoffeeScript AJAX
AJAX 问题 你想要使用jQuery来调用AJAX。 解决方案 $ ?= require jquery # 由于 Node.js 的兼容性 $(document).ready -…
CoffeeScript 不使用 jQuery 的 Ajax 请求
不使用 jQuery 的 Ajax 请求 问题 你想要通过AJAX来从你的服务器加载数据,而不使用jQuery库。 解决方案 你将使用本地的XMLHttpRequest对象。 通过…