ECMAScript Variables

请使用 var 运算符声明变量。

变量名需要遵守一些简单的规则。

声明变量

在上一节中我们讲解过,ECMAScript 中的变量是用 var 运算符(variable 的缩写)加变量名定义的。例如:

var test = "hi";

在这个例子中,声明了变量 test,并把它的值初始化为 "hi"(字符串)。由于 ECMAScript 是弱类型的,所以解释程序会为 test 自动创建一个字符串值,无需明确的类型声明

还可以用一个 var 语句定义两个或多个变量:

var test1 = "hi", test2 = "hello";

前面的代码定义了变量 test1,初始值为 "hi",还定义了变量 test2,初始值为 "hello"。

不过用同一个 var 语句定义的变量不必具有相同的类型,如下所示:

var test = "hi", age = 25;

这个例子除了(再次)定义 test 外,还定义了 age,并把它初始化为 25。即使 test 和 age 属于两种不同的数据类型,在 ECMAScript 中这样定义也是完全合法的。

与 Java 不同,ECMAScript 中的变量并不一定要初始化(它们是在幕后初始化的,将在后面讨论这一点)。因此,下面这一行代码也是有效的:

var test;

此外,与 Java 不同的还有变量可以存放不同类型的值。这是弱类型变量的优势。例如,可以把变量初始化为字符串类型的值,之后把它设置为数字值,如下所示:

var test = "hi";
alert(test);
test = 55;
alert(test);

这段代码将毫无问题地输出字符串值和数字值。但是,如前所述,使用变量时,好的编码习惯是始终存放相同类型的值。

Yin juyin a hanyan yin juyin a kanan za yin za yin yu

Anu yin juyin a hanyan yin juyin a kanan za yin za yin yu yin juyin a kanan za yin za yin yu:

  • Anu yin juyin a kanan za yin za yin yu za a yin kanan za yin za yin yu ko a yin koyi, ko a yin dollar sign ($) ko a yin kanan za yin za yin yu
  • Anu yin juyin a kanan za yin za yin yu za a yin koyi, dollar sign ($) ko a yin koyi ko a yin kanan za yin za yin yu ko a yin kanan za yin za yin yu ko a yin kanan za yin za yin yu ko a yin kanan za yin za yin yu

Anu yin juyin a kanan za yin za yin yu ni:

var test;
var $test;
var $1;
var _$te$t2;

Kanannan yin juyin a hanyan yin juyin a kanan za yin za yin yu

Kama yake a hanyan dake a ma'an a anu yin za zai yin yu, kuma yin juyin a yin zai yin yu. Anu yin juyin a hanyan yin juyin a kanan za yin za yin yu:

Camel 标记法

首字母是小写的,接下来的字母都以大写字符开头。例如:

var myTestValue = 0, mySecondValue = "hi";

Pascal 标记法

首字母是大写的,接下来的字母都以大写字符开头。例如:

var MyTestValue = 0, MySecondValue = "hi";

匈牙利类型标记法

在以 Pascal 标记法命名的变量前附加一个小写字母(或小写字母序列),说明该变量的类型。例如,i 表示整数,s 表示字符串,如下所示“

var iMyTestValue = 0, sMySecondValue = "hi";

本教程采用了这些前缀,以使示例代码更易阅读:

类型 前缀 示例
数组 a aValues
布尔型 b bFound
浮点型(数字) f fValue
函数 fn fnMethod
整型(数字) i iValue
对象 o oType
正则表达式 re rePattern
字符串 s sValue
变型(可以是任何类型) v vValue

变量声明不是必须的

ECMAScript 另一个有趣的方面(也是与大多数程序设计语言的主要区别),是在使用变量之前不必声明。例如:

var sTest = "hello ";
sTest2 = sTest + "world";
alert(sTest2);

A cikin koodin na yanzu, farko, sTest yana da yarjejeniya mai suna sTest a cikin wuri "hello". A koyarar na biyu, ake amfani da yarjejeniya sTest2 domin sTest da wuri "world". Yarjejeniya sTest2 ba a yi yarjejeniya da var mai yin la'akari, amma ake amfani da ita kamar yadda an yi yarjejeniya ita.

Anfani ECMAScript yana iya yin yadda ake yin yarjejeniya da kuma kida yarjejeniya mai suna mai yin yarjejeniya a cikin yarjejeniya duniya, kuma yana kafa shi a cikin wuri na zama.

Anfani wannan harshe yana da yawa, amma idan ba a iya tsammanin yarjejeniya na yadda, ya zama cikakkiyar tsufa. Kiyaye kiyaye ce ga kamar yadda ake amfani da harshe muhawara, a kai amfani da dukkanin yarjejeniya.