Coffee的函式
接上篇:CoffeeScript的Sublime Text 2開發環境配置 http://www.ituring.com.cn/article/details/4263
一. 定義一個函式
Coffee中定義一個函式,很簡單,比如:
#hi.coffee
#定義一個匿名函式,用“->”代表函式定義動作
-> "Hello, 函式!"
#do是執行一個函式
console.log do -> "Hello, 函式!"
你用coffee -p hi.coffee試試,輸出JavaScript程式碼,這就是你定義的函式:
(function() {
(function() {
return "Hello, 函式!";
});
console.log((function() {
return "Hello, 函式!";
})());
}).call(this);
-p:列印輸出Coffee程式碼編譯成的JavaScript程式碼,很方便很有用。
coffee hi.coffee執行輸出:
Hello, 函式!
再來定一個複雜點的函式例子:
#hi.coffee
greeting = (var1, var2) -> "Hello, #{var1}, #{var2}!"
console.log greeting '大胖', '小問'
coffee -p hi.coffee輸出:
(function() {
var greeting;
greeting = function(var1, var2) {
return "Hello, " + var1 + ", " + var2 + "!";
};
console.log(greeting('大胖', '小問'));
}).call(this);
coffee hi.coffee執行輸出:
Hello, 大胖, 小問!
(subject)是引數列表, #{subject}叫作“字串插值法”。
二. arguments物件
JavaScript中的arguments物件,在Coffee中仍能果斷使用。
#hi.coffee
greeting = -> "Hello, #{ arguments[0]}, #{ arguments[1]}!"
console.log greeting '大胖', '小問'
coffee -p hi.coffee輸出:
(function() {
var greeting;
greeting = function() {
return "Hello, " + arguments[0] + ", " + arguments[1] + "!";
};
console.log(greeting('大胖', '小問'));
}).call(this);
coffee hi.coffee執行輸出:
Hello, 大胖, 小問!
額外點出:CoffeeScript中的“is”和“==”都會編譯為JavaScript中的“===”。Coffee中摒棄了JavaScript中 “==”。
相關文章
- CoffeeScript攻略2.3:CoffeeScrip的type函式函式
- CoffeeScript攻略4.2:類似Python的zip函式Python函式
- CoffeeScript攻略2.5:鏈式呼叫物件物件
- CoffeeScript 已死,CoffeeScript 萬歲!
- main函式的入口函式AI函式
- js函式 函式自呼叫 返回函式的函式 (閉包)JS函式
- [TEAP早期試讀]《深入淺出CoffeeScript》CoffeeScript中的OOPOOP
- 使用bind()函式的產生的函式用作建構函式this的指向函式
- 函式定義、函式的引數、函式的預設引數函式
- 箭頭函式、簡寫函式、普通函式的區別函式
- 苦逼的Coffee程式猿
- 函式宣告和函式表示式的區別函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- 閉包函式(匿名函式)的理解函式
- 函式: 函式是怎麼使用的?函式
- Rust中的into函式和from函式Rust函式
- closest()函式parent()函式的區別函式
- ascii函式和substr函式的用法ASCII函式
- 函式式 Java 到函式式 Kotlin 的轉換函式JavaKotlin
- Oracle 函式大全(字串函式,數學函式,日期函式,邏輯運算函式,其他函式)Oracle函式字串
- 【函式式 Swift】函式式思想函式Swift
- python中id()函式、zip()函式、map()函式、lamda函式Python函式
- 【函式】Oracle函式系列(2)--數學函式及日期函式函式Oracle
- Python 擴充之特殊函式(lambda 函式,map 函式,filter 函式,reduce 函式)Python函式Filter
- 類的建構函式和解構函式函式
- gethostbyname函式和getservbyname函式的應用函式
- Sql 中的 left 函式、right 函式SQL函式
- 函式外與函式內的變數函式變數
- prop()函式和attr()函式的區別函式
- 簡單的printf函式與scnaf函式函式
- JS中函式內套函式的呼叫JS函式
- 【函式】oracle視窗函式over()的理解函式Oracle
- C++的函式和模板函式 (轉)C++函式
- strcpy函式和memcpy函式的區別函式memcpy
- ton函式函式hash的兩種形式函式
- python內建函式-eval()函式與exec()函式的區別Python函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- C#中解構函式,Close函式,Dispose函式的區別C#函式