CoffeeScript 教程
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 回调绑定
回调绑定 问题 你想要把一个回调与一个对象绑定在一起。 解决方案 $ -> class Basket constructor: () -> @products = []…
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对象。 通过…
CoffeeScript 使用 Heregexes
使用 Heregexes 问题 你需要写一个复杂的正则表达式。 解决方案 使用CoffeeScript的“heregexes”——可以忽视内部空白字符并可以包含注释的扩展正则表达式…
CoffeeScript 使用 HTML 命名实体替换 HTML 标签
使用 HTML 命名实体替换 HTML 标签 问题 你需要使用命名实体来替代HTML标签: <br/> => <br/> 解决方案 h…
CoffeeScript 替换子字符串
替换子字符串 问题 你需要用另一个值替换字符串的一部分。 解决方案 使用JavaScript的replace方法。它与给定字符串匹配,并返回已编辑的字符串。 第一个版本需要2个参数…
CoffeeScript 查找子字符串
查找子字符串 问题 你需要搜索一个字符串,并返回匹配的起始位置或匹配值本身。 解决方案 有几种使用正则表达式的方法来实现这个功能。其中一些方法被称为RegExp模式或对象还有一些方…
CoffeeScript 客户端
客户端 问题 你想使用网络上提供的服务。 解决方案 创建一个基本的TCP客户机。 在 Node.js 中 net = require net domain = localhost …