ای سی ایم اس متغیر

请使用 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 ਦੋਵੇਂ ਵੈਰੀਅੱਬਲ ਦੋ ਵੱਖ-ਵੱਖ ਤਰਾਂ ਦੇ ਮੁੱਲ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ, ਪਰ ਇਹ ECMAScript ਵਿਚ ਲਾਗੂ ਹੈ。

ਜਾਵਾ ਨਾਲ ਵੱਖ-ਰੇ ਹੋਣ ਤੋਂ ਇਲਾਵਾ, ECMAScript ਵਿਚ ਵੈਰੀਅੱਬਲਨਿਸ਼ਚਿਤ ਤੌਰ 'ਤੇ ਪ੍ਰਾਰੰਭ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾਇਹ ਪਿੱਛੇ ਵਿਚ ਪ੍ਰਾਰੰਭ ਕੀਤੇ ਗਏ ਹਨ, ਜਿਸ ਨੂੰ ਬਾਅਦ ਵਿਚ ਚਰਚਾ ਕੀਤਾ ਜਾਵੇਗਾ) ਇਸ ਲਈ ਹੇਠਲੀ ਲਾਈਨ ਵੀ ਲਾਗੂ ਹੈ:

var test;

ਇਹ ਵੈਰੀਅੱਬਲ ਇਹ ਹੀ ਨਹੀਂ ਹਨ, ਜਿਵੇਂ ਕਿ ਜਾਵਾ ਨਾਲ ਵੱਖ-ਵੱਖ ਹਨਇਹ ਵੈਰੀਅੱਬਲ ਵੱਖ-ਵੱਖ ਤਰਾਂ ਦੇ ਮੁੱਲ ਰੱਖ ਸਕਦੇ ਹਨ। ਇਹ ਨਸ਼ਟ ਤਰੀਕੇ ਵੈਰੀਅੱਬਲ ਦੀ ਮਜ਼ਬੂਤੀ ਹੈ। ਉਦਾਹਰਣ ਵਜੋਂ, ਵੈਰੀਅੱਬਲ ਨੂੰ ਸਟਰਿੰਗ ਵੈਲਿਊ ਦੇ ਰੂਪ ਵਿਚ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਬਾਅਦ ਵਿਚ ਉਸ ਨੂੰ ਨੰਬਰ ਵੈਲਿਊ ਵਜੋਂ ਸੈਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ:

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

ਇਹ ਕੋਡ ਬੂਥ ਸਟਰਿੰਗ ਵੈਲਿਊ ਅਤੇ ਨੰਬਰ ਵੈਲਿਊ ਨੂੰ ਬੂਥ ਹੀ ਚਲਾਵੇਗਾ, ਪਰ ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਦੱਸਿਆ ਗਿਆ ਹੈ, ਵੈਰੀਅੱਬਲ ਦਾ ਇਸਤੇਮਾਲ ਕਰਦੇ ਸਮੇਂ ਚੰਗੀ ਕੋਡਿੰਗ ਪ੍ਰਕਿਰਿਆ ਹਮੇਸ਼ਾ ਇੱਕ ਹੀ ਤਰਾਂ ਦੇ ਮੁੱਲ ਰੱਖਣਾ ਹੈ。

ਵੈਰੀਅੱਬਲ ਨਾਮਕਰਣ

ਵੈਰੀਅੱਬਲ ਨਾਮ ਨੂੰ ਦੋ ਸਰਲ ਨਿਯਮਾਂ ਦੀ ਪਾਲਣਾ ਚਾਹੀਦਾ ਹੈ:

  • ਪਹਿਲਾ ਅੱਕਸ਼ਰ ਚਿਹਨ ਚਿਹਨ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਅੰਡਰਲਾਈਨ (_), ਜਾਂ ਡਾਲਰ ਸਿੰਗਲ ਕਰਨਾ ($)
  • ਬਾਕੀ ਅੱਕਸ਼ਰ ਹੋਰ ਹੋ ਸਕਦੇ ਹਨ, ਉਦਾਹਰਣ ਵਜੋਂ ਅੰਡਰਲਾਈਨ, ਡਾਲਰ ਸਿੰਗਲ ਕਰਨਾ ਜਾਂ ਕਿਸੇ ਵੀ ਅੱਕਸ਼ਰ ਜਾਂ ਨੰਬਰ ਦਾ ਚਿਹਨ

ਹੇਠਲੇ ਵੈਰੀਅੱਬਲ ਸਾਰੇ ਲਾਗੂ ਹਨ:

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

ਮਸ਼ਹੂਰ ਵੈਰੀਅੱਬਲ ਨਾਮਕਰਣ ਨਿਯਮ

ਸਿਰਫ਼ ਇਹ ਕਿ ਵੈਰੀਅੱਬਲ ਨਾਮ ਦੀ ਸਫ਼ਟਿਕਾਰੀ ਸਹੀ ਹੈ, ਮਤਲਬ ਨਹੀਂ ਕਿ ਉਹਨਾਂ ਦਾ ਇਸਤੇਮਾਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਵੈਰੀਅੱਬਲ ਨੂੰ ਨਿਮਨਲਿਖਤ ਮਸ਼ਹੂਰ ਨਾਮਕਰਣ ਨਿਯਮਾਂ ਵਿਚੋਂ ਕਿਸੇ ਨੂੰ ਵੀ ਪਾਲਣਾ ਚਾਹੀਦਾ ਹੈ:

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);

ਉੱਪਰ ਵਾਲੇ ਕੋਡ ਵਿੱਚ, ਪਹਿਲਾਂ, sTest ਨੂੰ ਚਿੰਨ੍ਹ ਜਾਂਚ ਵਰਗੀ ਦੀ ਕੀਮਤ "hello" ਵਜੋਂ ਐਲਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। ਅਗਲੇ ਵਾਰੀ, sTest2 ਦੀ ਵਰਤੋਂ ਕਰਕੇ sTest ਅਤੇ ਚਿੰਨ੍ਹ ਜਾਂਚ ਵਰਗੀ "world" ਨੂੰ ਜੋੜਿਆ ਗਿਆ ਹੈ। ਵਾਰੀਆਂ sTest2 ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਰਤੋਂ ਕੀਤੀ ਗਈ ਨਹੀਂ ਹੈ, ਇੱਥੇ ਉਸ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਹ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਇਆ ਗਿਆ ਕਿ ਉਹ ਪਰਿਭਾਸ਼ਿਤ ਹੋਈ ਹੈ।

ECMAScript ਦੇ ਵਿਸ਼ਲੇਸ਼ਕ ਨਾ ਐਲਾਨੀ ਗਈ ਪਹਿਲੀਆਂ ਪਹਿਲੀਆਂ ਦੇ ਮੌਕੇ 'ਤੇ ਉਸ ਵਾਰੀਆਂ ਦਾ ਨਾਮ ਵਰਤ ਕੇ ਇੱਕ ਗਲੋਬਲ ਵਾਰੀਆਂ ਬਣਾ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਵਿਸ਼ੇਸ਼ ਕੀਤੀ ਗਈ ਕੀਮਤ ਨਾਲ ਪ੍ਰਾਰੰਭ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ਇਹ ਇਸ ਭਾਸ਼ਾ ਦਾ ਲਾਭ ਹੈ, ਲੇਕਿਨ ਜੇਕਰ ਵਾਰੀਆਂ ਨਹੀਂ ਨਜ਼ਰ ਰੱਖੀਆਂ ਜਾਂਦੀਆਂ ਤਾਂ ਇਹ ਵੀ ਖਤਰਨਾਕ ਹੋ ਸਕਦਾ ਹੈ। ਸਭ ਤੋਂ ਚੰਗੀ ਆਦਤ ਹੈ ਕਿ ਹੋਰ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਜਿਹਾਂ ਵਰਤੋਂ ਕਰਕੇ, ਹਰ ਵਾਰੀ ਸਾਰੀਆਂ ਵਾਰੀਆਂ ਦਾ ਐਲਾਨ ਕਰੋ।