【推荐】购买本站友情链接

购买本站友情链接联系站长QQ:993356686本站情况:站长之家权重:爱站权重:

【推荐】购买本站软文发布服务

购买本站软文发布服务请联系站长QQ:993356686 本站情况:站长之家权重:爱站权重:百度收录(几乎秒收):本站软文发布可带联系方式、可带链接、可包月,详情请联系站长QQ:993356686

JavaScript

CoffeeScript 服务端和客户端的代码重用

15 0

服务端和客户端的代码重用 问题 当你在CoffeeScript上创建了一个函数,并希望将它用在有网页浏览器的客户端和有Node.js的服务端时。 解决方案 以下列方法输出函数:# simpleMath.coffee# these methods are private add = (a, b) ->a + bsubtract = (a, b) ->a - bsquare = (x) ->x * x# create a namespace to export our public meth

JavaScript

CoffeeScript SQLite

13 0

SQLite 问题 你需要Node.js内部与SQLite数据库连接的接口。 解决方案 使用SQLite 模块。sqlite = require sqlitedb = new sqlite.Database# The module uses asynchronous methods, # so we chain the calls the db.execute exampleCreate = ->db.execute "CREATE TABLE snacks (name

JavaScript

CoffeeScript 筛选数组

11 0

筛选数组 问题 你想要根据布尔条件来筛选数组。 解决方案 使用Array.filter (ECMAScript 5): array = [1..10] array.filter (x) -> x > 5 # => [6,7,8,9,10]在EC5之前的实现中,可以通过添加一个筛选函数扩展Array的原型,该函数接受一个回调并对自身进行过滤,将回调函数返回true的元素收集起来。# 扩展 Array 的原型 Array::filter = (callback) ->element f

JavaScript

CoffeeScript 比较范围

12 0

比较范围 问题 如果你想知道某个变量是否在给定的范围内。 解决方案 使用CoffeeScript的连缀比较语法。maxDwarfism = 147 minAcromegaly = 213height = 180normalHeight = maxDwarfism < height < minAcromegaly # => true 讨论 这是从Python中借鉴过来的一个很棒的特性。利用这个特性,不必像下面这样写出完整的比较:normalHeight = height > maxD

JavaScript

CoffeeScript 检测与构建丢失的函数

10 0

检测与构建丢失的函数 问题 你想要检测一个函数是否存在,如果不存在则构建该函数。(比如Internet Explorer 8的ECMAScript 5函数)。 解决方案 使用存在赋值运算符(?=)来把函数分配给类库的原型(使用::简写),然后把它放于一个立即执行函数表达式中(do ->)使其含有所有变量。do -> Array::filter ?= (callback) ->element for element in this when callback elementarray =

JavaScript

CoffeeScript 把字符串转换为大写形式

12 0

把字符串转换为大写形式 问题 你想把字符串转换成大写形式。 解决方案 使用JavaScript的String的toUpperCase()方法:"one two three".toUpperCase() # => ONE TWO THREE 讨论 toUpperCase()是一个标准的JavaScript方法。不要忘了带圆括号。 语法块 通过下面的快捷方式可以添加某种类似Ruby的语法块:String::upcase = -> @toUpperCase()

JavaScript

CoffeeScript 计算两个日期中间的天数

8 0

计算两个日期中间的天数 问题 你需要找出两个日期间隔了几年,几个月,几天,几个小时,几分钟,几秒。 解决方案 利用JavaScript的日期计算函数getTime()。它提供了从1970年1月1日开始经过了多少毫秒。DAY = 1000 * 60 * 60 * 24d1 = new Date(02/01/2011) d2 = new Date(02/06/2011)days_passed = Math.round((d2.getTime() - d1.getTim

JavaScript

CoffeeScript 策略模式

8 0

策略模式 问题 解决问题的方式有多种,但是你需要在程序运行时选择(或是转换)这些方法。 解决方案 在策略对象(Strategy objects)中封装你的算法。 例如,给定一个未排序的列表,我们可以在不同情况下改变排序算法。 基类StringSorter = (algorithm) ->sort: (list) -> algorithm list 策略bubbleSort = (list) ->anySwaps = falseswapPass = ->for r in [0..li