开发手册 欢迎您!
软件开发者资料库

CoffeeScript - 变量

CoffeeScript变量 - 从概述,环境,命令行实用程序,语法,数据类型,变量,运算符和别名,条件,循环,理解,函数,字符串,数组,对象,范围,Splat,日期,数学,异常处理开始学习CoffeeScript ,正则表达式,类和继承,Ajax,jQuery,MongoDB,SQLite。

变量只不过是命名容器.您可以将数据放入这些容器中,然后使用其容器名称引用数据.

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 关键字声明了变量(年龄和名称).

// Generated by CoffeeScript 1.10.0(function() {  var age, name;  name = "Javed";  age = 25;  }).call(this);

变量范围

变量的范围是程序中定义它的区域. JavaScript和CoffeeScript变量只有两个范围.

  • 全局变量 : 全局变量具有全局范围,这意味着它可以在JavaScript代码中的任何位置使用.

  • 局部变量 : 局部变量仅在定义它的函数中可见.函数参数始终是该函数的本地函数.

JavaScript中的变量问题

In JavaScript,只要我们在不使用 var 关键字的情况下定义变量,就会使用全局范围创建它.这会导致很多问题.请考虑以下示例 :

   var i = 10;   document.write("The value of global variable i is "+ i);      document.write("
");   test();   function test() {      i = 20;      document.write("The value of local variable i is "+i);      document.write("
");   }   document.write("The value of global variable i is "+i);

执行时,上面的JavaScript会给你以下输出 :

The value of global variable i is 10The value of local variable i is 20The 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变量名称区分大小写.例如,名称名称是两个不同的变量.