《CoffeeScript應用開發》學習:第三章-構建簡單的應用程序

字符串插值

CoffeeScript提供了一種更好的構建字符串的解決方案。在雙引號字符串(單引號無效)中使用#{}包含一個動態的值。數組

str = 'Hello, CoffeeScript.'
console.log "#{str + ':)'}"
# 輸出:Hello, CoffeeScript:)

定義函數

CoffeeScript引入lambda表達式的形式來定義函數。函數

函數定義:code

# 定義有參函數並調用
sayHello = (name)->
    return "Hello, #{name}!"
sayHello "Programmer"   # 輸出Hello, Programmer!

# 定義無參函數並調用
sayGoodBye = ->
    return "Bye now!"
sayGoodBye() # 輸出Bye now!

函數命名

大多數狀況下,CoffeeScript不支持形如function sayHello(name){...}的命名函數,只支持綁定函數。coffeescript

JavaScript中的命名函數在文件中其餘一切以前執行定義,可是綁定函數不遵循此規則,綁定函數只在函數聲明(定義)的位置執行聲明操做,也就是說,只有在此以後的代碼能夠調用此函數,在綁定函數以前沒法調用此函數。ip

函數返回

CoffeeScript中函數有一個重要特性:隱式返回。即函數中若是沒有顯式給定返回的值,那麼函數將以運行時執行的最後一條語句結果做爲返回值。字符串

其中,若是最有一條語句爲if語句,則在if語句的每一個分支中都加入return語句;若是是for循環,則返回每次循環執行結果組成的數組,it

若是肯定函數不會返回,那麼能夠再函數末尾添加一個沒有返回值的return語句或者null。io

switch語句

CoffeeScript中的switch使用switch,when和else做爲語句關鍵字,break命令自動插入到控制結構中。其中,when語句能夠接受多個值的匹配,使用逗號隔開,還能夠使用then語句將語句塊縮短至一行console

switch iSpy
    when 'sky'
        console.log 'blue'
    when 'grass', 'frog'
        console.log 'green'
    when 'lake' then 'dark'
    else 
        console.log 'grey'
相關文章
相關標籤/搜索