
- CoffeeScript 教程
- CoffeeScript - 首頁
- CoffeeScript - 概述
- CoffeeScript - 環境
- CoffeeScript - 命令列工具
- CoffeeScript - 語法
- CoffeeScript - 資料型別
- CoffeeScript - 變數
- CoffeeScript - 運算子和別名
- CoffeeScript - 條件語句
- CoffeeScript - 迴圈
- CoffeeScript - 列表推導式
- CoffeeScript - 函式
- CoffeeScript 面向物件程式設計
- CoffeeScript - 字串
- CoffeeScript - 陣列
- CoffeeScript - 物件
- CoffeeScript - 範圍
- CoffeeScript - 展開運算子
- CoffeeScript - 日期
- CoffeeScript - 數學
- CoffeeScript - 異常處理
- CoffeeScript - 正則表示式
- CoffeeScript - 類和繼承
- CoffeeScript 高階篇
- CoffeeScript - Ajax
- CoffeeScript - jQuery
- CoffeeScript - MongoDB
- CoffeeScript - SQLite
- CoffeeScript 有用資源
- CoffeeScript - 快速指南
- CoffeeScript - 有用資源
- CoffeeScript - 討論
CoffeeScript - 變數
變數只不過是命名的容器。您可以將資料放入這些容器中,然後使用容器的名稱來引用資料。
CoffeeScript 變數
在 JavaScript 中,使用變數之前,需要宣告並初始化它(賦值)。與 JavaScript 不同,在 CoffeeScript 中建立變數時,無需使用var關鍵字宣告它。我們只需為字面量賦值即可建立變數,如下所示。
name = variable name
示例
在下面的 CoffeeScript 程式碼中,我們定義了兩個變數name和age,分別為字串和數字資料型別。將其儲存在名為variable_example.coffee的檔案中。
name = "Javed" age = 25
編譯程式碼
在命令提示符中執行以下命令,編譯上述 CoffeeScript 程式碼。
c:\> compile -c variable_example.coffee
編譯後,將生成一個名為variable_example.js的 JavaScript 檔案,其內容如下。在這裡您可以看到編譯器代表我們使用了var關鍵字聲明瞭變數(age 和 name)。
// Generated by CoffeeScript 1.10.0 (function() { var age, name; name = "Javed"; age = 25; }).call(this);
變數作用域
變數的作用域是定義它的程式區域。JavaScript 和 CoffeeScript 變數只有兩種作用域。
全域性變數 - 全域性變數具有全域性作用域,這意味著它可以在 JavaScript 程式碼中的任何地方使用。
區域性變數 - 區域性變數僅在其定義的函式內可見。函式引數始終是該函式的區域性變數。
JavaScript 中變數的問題
在 JavaScript 中,每當我們不使用var關鍵字定義變數時,它都將以全域性作用域建立。這會導致很多問題。考慮以下示例 -
<script type = "text/javascript"> var i = 10; document.write("The value of global variable i is "+ i); document.write("<br>"); test(); function test() { i = 20; document.write("The value of local variable i is "+i); document.write("<br>"); } document.write("The value of global variable i is "+i); </script>
執行後,上述 JavaScript 給出以下輸出 -
The value of global variable i is 10 The value of local variable i is 20 The value of global variable i is 20
在上面的示例中,我們在全域性空間中建立了一個名為i的變數,併為其賦值 10。在函式內,嘗試建立同名的區域性變數時,我們宣告為i=20;沒有 var 關鍵字。由於我們錯過了var關鍵字,全域性變數i的值被重新賦值為 20。
因此,建議使用var關鍵字宣告變數。
CoffeeScript 中的變數作用域
每當我們編譯 CoffeeScript 檔案時,CoffeeScript 編譯器都會建立一個匿名函式,並在該函式中,它會將 CoffeeScript 程式碼逐行轉換成 JavaScript 程式碼。(如果需要,我們可以使用編譯命令的-b或--bare選項刪除頂層函式包裝器)我們建立的每個變數都使用var關鍵字在匿名函式內宣告,因此,預設情況下,CoffeeScript 中的每個變數都是區域性變數。
(function() { var age, name; name = "javed"; age = 20; }).call(this);
無論如何,如果需要,我們可以宣告一個具有全域性名稱空間的變數。我們可以顯式地執行此操作,如下所示。
obj = this obj.age = 30
CoffeeScript 變數名(字面量)
在 CoffeeScript 中命名變數時,請記住以下規則。
您不應使用任何 CoffeeScript 保留關鍵字作為變數名。這些關鍵字在下一節中提到。例如,break 或 Boolean 變數名無效。
CoffeeScript 變數名不能以數字 (0-9) 開頭。它們必須以字母或下劃線字元開頭。例如,123test 是無效的變數名,但 _123test 是有效的變數名。
CoffeeScript 變數名區分大小寫。例如,Name 和name是兩個不同的變數。