欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JScript 8.0
JScript 賦值與相等

在 JScript 中,賦值運算符給變量賦值。相等運算符比較兩個值。

賦值

像許多編程語言一樣,JScript 使用等號 (=) 給變量賦值:它是賦值運算符。= 運算符的左操作數(shù)必須是一個 Lvalue,這表示它必須是變量、數(shù)組元素或?qū)ο髮傩浴?/p>

= 運算符的右操作數(shù)必須是一個 RvalueRvalue 可以是任何類型的任意值,包括作為表達式結(jié)果的值。下面是 JScript 賦值語句的一個示例。

anInteger = 3;

JScript 將該語句解釋為:

將值 3 賦給變量 anInteger,

"anInteger 得到值 3。

如果類型批注沒有將語句中的變量綁定到特定的數(shù)據(jù)類型,則賦值將始終是成功的。否則,編譯器將試圖把 Lvalue 轉(zhuǎn)換為 Rvalue 的數(shù)據(jù)類型。如果此轉(zhuǎn)換始終不能成功執(zhí)行,則編譯器將生成錯誤。如果此轉(zhuǎn)換對于某些值可成功執(zhí)行,對于另一些值則會失敗,那么編譯器將生成警告,說明當運行代碼時轉(zhuǎn)換可能失敗。

在本例中,當賦值給變量 x 時,存儲在變量 i 中的整數(shù)值將轉(zhuǎn)換成一個雙精度值。

var i : int = 29;
var x : double = i;

有關(guān)更多信息,請參見類型轉(zhuǎn)換。

相等

與其他一些編程語言不同,JScript 不使用等號作為比較運算符,而只作為賦值運算符。對于兩個值的比較,可以使用相等運算符 (==) 或全等運算符 (===)。

相等運算符按值來比較基元字符串、數(shù)字和布爾值。如有必要進行類型轉(zhuǎn)換之后,若兩個變量具有相同的值,相等運算符將返回 true。對象(包括 ArrayFunctionString、NumberBoolean、ErrorDateRegExp 對象)是根據(jù)引用來進行比較的。即使兩個對象變量具有相同的值,也只有當它們引用相同的對象時,比較結(jié)果才會返回 true。

全等運算符同時比較兩個表達式的值和類型;只有當兩個表達式通過相等運算符比較為相等并且兩個操作數(shù)的數(shù)據(jù)類型相同時,才會返回 true。

Note注意

全等運算符不區(qū)分不同的數(shù)值數(shù)據(jù)類型。一定要確保理解賦值運算符、相等運算符和全等運算符之間的差異。

用戶腳本中的比較始終有一個布爾值結(jié)果。請看下面的 JScript 代碼行。

y = (x == 2000);

此處,測試變量 x 的值,看它是否等于數(shù)字 2000。如果是,則比較結(jié)果為布爾值 true,該值將賦給變量 y。如果 x 不等于 2000,則比較結(jié)果為布爾值 false,賦給 y。

相等運算符將進行類型轉(zhuǎn)換,以檢查值是否相同。在下面的 JScript 代碼行中,字符串 "42" 將在與數(shù)字 42 比較之前被轉(zhuǎn)換為一個數(shù)字。其結(jié)果為 true。

42 == "42";

對象使用不同的規(guī)則進行比較。相等運算符的行為取決于對象的類型。如果對象是用相等運算符定義的某個類的實例,返回值將取決于相等運算符的實現(xiàn)。提供相等運算符的類不能在 JScript 中定義,盡管其他 .NET Framework 語言允許這樣的類定義。

對于不具有已定義相等運算符的對象(比如基于 JScript Object 對象的對象或 JScript 類的實例),只有當兩個對象都引用相同的對象時,比較結(jié)果才相等。這就意味著包含相同數(shù)據(jù)的兩個不同對象的比較結(jié)果不同。下面的示例闡釋了這一點。

// A primitive string.
var string1 = "Hello";
// Two distinct String objects with the same value.
var StringObject1 = new String(string1);
var StringObject2 = new String(string1);

// An object converts to a primitive when
// comparing an object and a primitive.
print(string1 == StringObject1);   // Prints true.

// Two distinct objects compare as different.
print(StringObject1 == StringObject2);   // Prints false.

// Use the toString() or valueOf() methods to compare object values.
print(StringObject1.valueOf() == StringObject2);   // Prints true.

在控制結(jié)構(gòu)的條件語句中,相等運算符是非常有用的。您在這里組合相等運算符與使用它的語句。請看下面的 JScript 代碼示例。

if (x == 2000)
   z = z + 1;
else
   x = x + 1;

如果 x 的值是 2000,則 JScript 中的 if...else 語句執(zhí)行一個操作(本例中執(zhí)行 z = z + 1),如果 x 的值不是 2000,則執(zhí)行另一個操作 (x = x + 1)。有關(guān)更多信息,請參見 JScript 條件結(jié)構(gòu)。

全等運算符 (===) 僅對數(shù)值數(shù)據(jù)類型執(zhí)行類型轉(zhuǎn)換。這意味著整數(shù) 42 被視為與雙精度 42 相同,而這兩者都與字符串“42”不同。下面的 JScript 代碼說明了這一點。

var a : int = 42;
var b : double = 42.00;
var c : String = "42";
print(a===b); // Displays "true".
print(a===c); // Displays "false".
print(b===c); // Displays "false".

請參見