亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
JScript 用戶指南 Jscript 基礎(chǔ) 編寫 JScript 代碼 JScript 的變量 JScript 的數(shù)據(jù)類型 JScript 的運算符 控制程序的流程 JScript 函數(shù) Jscript對象 創(chuàng)建自己的對象 內(nèi)部對象 JScript 保留關(guān)鍵字 高級 JScript 創(chuàng)建高級對象 遞歸 變量范圍 復(fù)制、傳遞和比較數(shù)據(jù) 使用數(shù)組 特殊字符 腳本問題解答 條件編譯 條件編譯變量 在瀏覽器中顯示信息 使用消息框 語言參考 特性信息 Microsoft JScript 特性 - ECMA Microsoft JScript 特性 - 非-ECMA JScript 字母順序的關(guān)健字列表 JScript 錯誤 JScript 運行時錯誤 JScript 語法錯誤 JScript 函數(shù) GetObject 函數(shù) ScriptEngine 函數(shù) ScriptEngineBuildVersion 函數(shù) ScriptEngineMajorVersion 函數(shù) ScriptEngineMinorVersion 函數(shù) JScript 方法 A-E abs 方法 acos 方法 anchor 方法 apply 方法 asin 方法 atan 方法 atan2 方法 atEnd 方法 big 方法 blink 方法 bold 方法 call 方法 ceil 方法 charAt 方法 charCodeAt 方法 compile 方法 concat 方法 (Array) concat 方法 (String) cos 方法 decodeURI 方法 decodeURIComponent 方法 dimensions 方法 encodeURI 方法 encodeURIComponent 方法 escape 方法 eval 方法 exec 方法 exp 方法 F-I fixed 方法 floor 方法 fontcolor 方法 fontsize 方法 fromCharCode 方法 getDate 方法 getDay 方法 getFullYear 方法 getHours 方法 getItem 方法 getMilliseconds 方法 getMinutes 方法 getMonth 方法 getSeconds 方法 getTime 方法 getTimezoneOffset 方法 getUTCDate 方法 getUTCDay 方法 getUTCFullYear 方法 getUTCHours 方法 getUTCMilliseconds 方法 getUTCMinutes 方法 getUTCMonth 方法 getUTCSeconds 方法 getVarDate 方法 getYear 方法 indexOf 方法 isFinite 方法 isNaN 方法 italics 方法 item 方法 J-R join 方法 lastIndexOf 方法 lbound 方法 link 方法 localeCompare 方法 log 方法 match 方法 max 方法 min 方法 moveFirst 方法 moveNext 方法 parse 方法 parseFloat 方法 parseInt 方法 pop 方法 pow 方法 push 方法 random 方法 replace 方法 reverse 方法 round 方法 S search 方法 setDate 方法 setFullYear 方法 setHours 方法 setMilliseconds 方法 setMinutes 方法 setMonth 方法 setSeconds 方法 setTime 方法 setUTCDate 方法 setUTCFullYear 方法 setUTCHours 方法 setUTCMilliseconds 方法 setUTCMinutes 方法 setUTCMonth 方法 setUTCSeconds 方法 setYear 方法 shift 方法 sin 方法 slice 方法 (Array) slice 方法 (String) small 方法 sort 方法 splice 方法 split 方法 sqrt 方法 strike 方法 sub 方法 substr 方法 substring 方法 sup 方法 T-Z tan 方法 test 方法 toArray 方法 toDateString 方法 toExponential 方法 toFixed 方法 toGMTString 方法 toLocaleDateString 方法 toLocaleLowerCase 方法 toLocaleString 方法 toLocaleTimeString 方法 toLocaleUpperCase 方法 toLowerCase 方法 toPrecision 方法 toString 方法 toTimeString 方法 toUpperCase 方法 toUTCString 方法 ubound 方法 unescape 方法 unshift 方法 UTC 方法 valueOf 方法 JScript 對象 ActiveXObject 對象 Array 對象 Boolean 對象 Date 對象 Enumerator 對象 Error 對象 Function 對象 Global 對象 Math 對象 Number 對象 Object 對象 RegExp 對象 正則表達式對象 String 對象 VBArray 對象 JScript 運算符 通用信息 運算符優(yōu)先級 運算符總結(jié) 加法賦值運算符 (+=) 加法運算符 (+) 賦值運算符 (=) 按位“與”賦值運算符 (&=) 按位“與”運算符 (&) 按位左移運算符 (<<) 按位“非”運算符 (~) 按位“或”賦值運算符 (|=) 按位“或”運算符 (|) 按位右移運算符 (>>) 按位“異或”賦值運算符 (^=) 按位“異或”運算符 (^) 逗號運算符 ( 比較運算符 復(fù)合賦值運算符 條件(三目)運算符 (?:) delete 運算符 除法賦值運算符 (/=) 除法運算符 (/) in 運算符 遞增 (++) 和遞減 (--) 運算符 instanceof 運算符 左移賦值運算符 (<<=) 邏輯“與”運算符 (&&) 邏輯“非”運算符 (!) 邏輯“或”運算符 (||) 取余賦值運算符 (%=) 取余運算符 (%) 乘法賦值運算符 (*=) 乘法運算符 (*) new 運算符 右移賦值運算符 (>>=) 減法賦值運算符 (-=) 減法運算符 (-) typeof 運算符 無符號右移運算符 (>>>) 無符號右移賦值操作 (>>>=) void 運算符 JScript 屬性 $1...$9 屬性 arguments 屬性 caller 屬性 constructor 屬性 description 屬性 E 屬性 global 屬性 hasOwnProperty 方法 ignoreCase 屬性 index 屬性 Infinity 屬性 input 屬性($_) isProptotyeOf 方法 lastIndex 屬性 length 屬性 (Array) length 屬性 (Function) length 屬性 (String) LN10 屬性 LN2 屬性 LOG10E 屬性 LOG2E 屬性 MAX_VALUE 屬性 message 屬性 MIN_VALUE 屬性 multiline 屬性 name 屬性 NaN 屬性 NaN 屬性 (Global) NEGATIVE_INFINITY 屬性 number 屬性 PI 屬性 POSITIVE_INFINITY 屬性 propertyIsEnumerable 屬性 prototype 屬性 source 屬性 SQRT1_2 屬性 SQRT2 屬性 undefined 屬性 JScript 語句 @cc_on 語句 @if 語句 @set 語句 break 語句 Comment 語句 continue 語句 do...while 語句 for 語句 for...in 語句 function 語句 if...else 語句 Labeled 語句 return 語句 switch 語句 this 語句 throw 語句 try...catch...finally 語句 var 語句 while 語句 with 語句 FileSystemObject 用戶指南 FileSystemObject 對象模型 FileSystemObject 和 Scripting 運行時庫參考的介紹 FileSystemObject 對象 設(shè)計 FileSystemObject 處理驅(qū)動器和文件夾 處理文件 FileSystemObject 示例代碼 Scripting 運行時庫參考 腳本運行時方法 Add 方法 (Dictionary) Add 方法 (Folders) BuildPath 方法 Close 方法 Copy 方法 CopyFile 方法 CopyFolder 方法 CreateFolder 方法 CreateTextFile 方法 Delete 方法 DeleteFile 方法 DeleteFolder 方法 DriveExists 方法 Exists 方法 FileExists 方法 FolderExists 方法 GetAbsolutePathName 方法 GetBaseName 方法 GetDrive 方法 GetDriveName 方法 GetExtensionName 方法 GetFile 方法 GetFileName 方法 getFileVersion 方法 GetFolder 方法 GetParentFolderName 方法 GetSpecialFolder 方法 GetTempName 方法 Items 方法 Keys 方法 Move 方法 MoveFile 方法 MoveFolder 方法 OpenAsTextStream 方法 OpenTextFile 方法 Read 方法 ReadAll 方法 ReadLine 方法 Remove 方法 RemoveAll 方法 Skip 方法 SkipLine 方法 Write 方法 WriteBlankLines 方法 WriteLine 方法 腳本運行時對象 Dictionary 對象 Drive 對象 Drives 集合 File 對象 Files 集合 FileSystemObject 對象 Folder 對象 Folders 集合 TextStream 對象 腳本運行時屬性 AtEndOfLine 屬性 AtEndOfStream 屬性 Attributes 屬性 AvailableSpace 屬性 Column 屬性 CompareMode 屬性 Count 屬性 DateCreated 屬性 DateLastAccessed 屬性 DateLastModified 屬性 Drive 屬性 DriveLetter 屬性 Drives 屬性 DriveType 屬性 Files 屬性 FileSystem 屬性 FreeSpace 屬性 IsReady 屬性 IsRootFolder 屬性 Item 屬性 Key 屬性 Line 屬性 Name 屬性 ParentFolder 屬性 Path 屬性 RootFolder 屬性 SerialNumber 屬性 ShareName 屬性 ShortName 屬性 ShortPath 屬性 Size 屬性 SubFolders 屬性 TotalSize 屬性 Type 屬性 VolumeName 屬性 正則表達式簡介 正則表達式 早期起源 使用正則表達式 正則表達式語法 建立正則表達式 優(yōu)先權(quán)順序 普通字符 特殊字符 非打印字符 字符匹配 限定符 定位符 選擇和編組 后向引用
characters


控制程序的流程

Jscript 腳本中的語句一般是按照寫的順序來運行的。這種運行稱為順序運行,是程序流的默認方向。

與順序運行不同,另一種運行將程序流轉(zhuǎn)換到腳本的另外的部分。也就是,不按順序運行下一條語句,而是運行另外的語句。

要使腳本可用,該控制的轉(zhuǎn)換必須以邏輯方式執(zhí)行。程序控制的轉(zhuǎn)換是基于一個“決定”,這個“決定”結(jié)果是真或假(返回? Boolean 型 true false)。 創(chuàng)建一個表達式,然后測試其是否為真。主要有兩種程序結(jié)構(gòu)實現(xiàn)本功能。

第一種是選擇結(jié)構(gòu)。用來指明兩種程序流方向,在程序中創(chuàng)建一個交叉點(像岔路)。在 Jscript 中有四種選擇結(jié)構(gòu)可用。

  • 單一選擇結(jié)構(gòu)(if),
  • 二路選擇結(jié)構(gòu)(if/else),
  • 內(nèi)聯(lián)三元運算符 ?:
  • 多路選擇結(jié)構(gòu)(switch)。

第二種類型的程序控制結(jié)構(gòu)是循環(huán)結(jié)構(gòu)。使用循環(huán)結(jié)構(gòu)來指明當某些條件保持為真時要重復(fù)的動作。當控制語句的條件得到滿足時(通常在某些迭代的特定數(shù)字后),控制跳過循環(huán)結(jié)構(gòu)傳遞到下條語句。在 Jscript 中有四種循環(huán)結(jié)構(gòu)可用。

  • 在循環(huán)的開頭測試表達式(while),
  • 在循環(huán)的末尾測試表達式(do/while),
  • 對對象的每個屬性都進行操作(for/in),
  • 由計數(shù)器控制的循環(huán)(for)。

通過嵌套和堆棧選擇、循環(huán)控制結(jié)構(gòu),可以創(chuàng)建相當復(fù)雜的腳本。

第三種形式的結(jié)構(gòu)程序流由意外處理給出,本文檔不作討論。

使用條件語句

JScript 支持 if 和 if...else 條件語句。在 if 語句中將測試一個條件,如果該條件滿足測試,執(zhí)行相關(guān)的 JScript 編碼。在 if...else 語句中,如果條件不滿足測試,則將執(zhí)行不同的代碼。最簡單的 if 語句格式可以在一行中寫完,不過更常見的是多行的 ifif...else 語句。

下述示例演示了使用 ifif...else 語句的各種可能的語法。第一個示例演示了最簡單的布爾測試。當(且僅當)括號之間的項的值為(或者可被強制轉(zhuǎn)換為) true 時,if 后續(xù)的語句或語句塊才會被執(zhí)行。

// smash() 函數(shù)是在該代碼的其他地方定義的。
// 布爾測試,看 newShip 是否為 true。
if (newShip)
???smash(champagneBottle,bow); 

// 在本示例中,除非兩個條件都為真,否則該測試將不會被滿足。
if (rind.color == "deep yellow " && rind.texture == "large and small wrinkles")
{
???theResponse = ("Is it a Crenshaw melon?");
}

// 在本示例中,只要任何一個條件為真,則測試即會滿足。
var theReaction = "";
if ((dayOfWeek == "Saturday") || (dayOfWeek == "Sunday"))
{
???theReaction = ("I'm off to the beach!");
}
else
{
???theReaction = ("Hi ho, hi ho, it's off to work I go!");
}

條件運算符

JScript 也支持隱式的條件格式。該格式在要測試的條件后使用一個問號(而不是在條件前的 if )。它也指定兩個可選項,一個在滿足條件時使用,另一個在條件不滿足時使用。這兩個選擇項之間必須用一個冒號隔開。

var hours = "";

// 下面的代碼指定 hours 是包含 theHour 的內(nèi)容,
// 還是包含 theHour - 12 的內(nèi)容。

hours += (theHour >= 12) ? " PM" : " AM";

如果要一起測試多個條件,并且知道某個條件比其他條件更可能滿足或不滿足測試,可以使用稱為“短路計算”的特性來加速腳本的運行速度。當 JScript 計算邏輯表達式時,只計算要得到結(jié)果所需的子表達式。

例如,如果有一個“與”表達式,如 ((x == 123) && (y == 42)),Jscript 首先檢查 x 是否為 123。如果不是,即使 y 等于 42,整個表達式的值也不可能為 true。因此,并不對 y 作測試,Jscript 返回 false 值。

類似地,如果多個條件中只要有一個為真(使用 || 運算符),則當任何一個條件滿足該測試時測試則停止。如果要測試的條件包括函數(shù)調(diào)用或其他復(fù)合表達式,這種處理方式就有效。出于此種想法,寫 OR 表達式時,先寫最有可能為 true 的條件。寫 AND 表達式時,先寫最有可能為 false 的條件。

以這種方式設(shè)計腳本的好處的一個示例是:在下例中如果 runfirst() 返回 0 或 false, 則不會運行 runsecond()。

if ((runfirst() == 0) || (runsecond() == 0)) {
    // 若干代碼。
}

使用循環(huán)

有多種方式來重復(fù)執(zhí)行一條語句或語句塊。通常重復(fù)執(zhí)行被稱為循環(huán)重復(fù)。重復(fù)只是循環(huán)的一個運行。典型情況是用一個變量測試來進行控制,每執(zhí)行一次循環(huán)變量的取值都會更改。JScript 支持四種循環(huán): for 循環(huán)、 for...in 循環(huán)、 while 循環(huán)、 do...while 循環(huán)。

使用 for 循環(huán)

for 語句指定了一個計數(shù)器變量,一個測試條件,以及更新該計數(shù)器的操作。在每次循環(huán)的重復(fù)之前,都將測試該條件。如果測試成功,將運行循環(huán)中的代碼。如果測試不成功,不運循環(huán)中的代碼,程序繼續(xù)運行緊跟在循環(huán)后的第一行代碼。在執(zhí)行該循環(huán)后,計算機變量將在下一次循環(huán)之前被更新。

如果循環(huán)條件永不會滿足,則不執(zhí)行該循環(huán)。如果測試條件始終滿足,則將導致無限循環(huán)。在有些情況下,前者可能是合乎需要的,而后者幾乎沒有用處,因此在編寫循環(huán)條件時一定要注意。



var howFar = 10;  // 將循環(huán)次數(shù)限制為 10。

var sum = new Array(howFar);  // 創(chuàng)建一個稱為 sum 并具有 10 個成員的數(shù)組,這 10 個成員從 0  9。
var theSum = 0;
sum[0] = 0;

for(var icount = 0; icount < howFar; icount++)  {        // 在本例中將從 0  9 進行計數(shù)。
theSum += icount;
sum[icount] = theSum;
}

var newSum = 0;
for(var icount = 0; icount > howFar; icount++)  {        // 該循環(huán)根本不會被執(zhí)行,因為 icount 不大于 howFarnewSum += icount;
}

var sum = 0;
for(var icount = 0; icount >= 0; icount++)  {        // 這是一個無限循環(huán)。
sum += icount;
}

使用 for...in 循環(huán)

JScript 提供了一種特別的循環(huán)方式來遍歷一個對象的所有用戶定義的屬性或者一個數(shù)組的所有元素。for...in 循環(huán)中的循環(huán)計數(shù)器是一個字符串,而不是數(shù)字。它包含當前屬性的名稱或者當前數(shù)組元素的下標。

下面的代碼范例應(yīng)在 Internet 瀏覽器中運行,因為它使用 alert 方法,該方法不屬于 Jscript。

// 創(chuàng)建具有某些屬性的對象
var myObject = new Object();
myObject.name = "James";
myObject.age = "22";
myObject.phone = "555 1234";

// 枚舉(循環(huán))對象的所有屬性
for (prop in myObject)
{
    // 顯示 "The property 'name' is James",等等。
    window.alert("The property '" + prop + "' is " + myObject[prop]);
}

盡管 for...in 循環(huán)看起來像 VBScript 的 For Each...Next 循環(huán),其實并不一樣。JScript 的 for...in 循環(huán)重復(fù)Jscript 對象所有的屬性。VBScript 的 For Each...Next 循環(huán)重復(fù)集合中的所有項目。要循環(huán) JScript 中的所有集合,需要用 Enumerator 對象。盡管某些對象(像 Internet 瀏覽器中的那些)支持 VBScript 的 For Each...Next 和 Jscript 的 for...in 循環(huán),但多數(shù)對象并不都支持。

使用 while 循環(huán)

while 循環(huán)相似于 for 循環(huán)。其不同之處是 while 循環(huán)沒有內(nèi)置的計數(shù)器或更新表達式。如果希望控制語句或語句塊的循環(huán)執(zhí)行,需要不只是“運行該代碼 n 次”,而是更復(fù)雜的規(guī)則,用 while 循環(huán)。下面的示例使用 Internet 瀏覽器對象模型和 while 循環(huán)來詢問用戶一個簡單的問題。

var x = 0;
while ((x != 42) && (x != null))
{
    x = window.prompt("What is my favourite number?", x);
}

if (x == null)
    window.alert("You gave up!");
else
    window.alert("Yep - it's the Ultimate Answer!");

注意???由于 while 循環(huán)沒有顯式的內(nèi)置計數(shù)器變量,因此比其他類型的循環(huán)更容易產(chǎn)生無限循環(huán)。此外,由于不易發(fā)現(xiàn)循環(huán)條件是在何時何地被更新的,很容易編寫一個實際上從不更新條件的 while 循環(huán)。因此在編寫 while 循環(huán)時應(yīng)特別小心。

同上面所提到的,在 JScript 中還有 do...while 循環(huán)與 while 循環(huán)相似,不同處在于它總是至少運行一次,因為是在循環(huán)的末尾檢查條件,而不是在開頭。例如,上面的循環(huán)可以被改寫為:

var x = 0;
do
{
    x = window.prompt("What is my favourite number?", x);
} while ((x != 42) && (x != null));

if (x == null)
    window.alert("You gave up!");
else
    window.alert("Yep - it's the Ultimate Answer!");

使用 break 和 continue 語句

在 Microsoft Jscript 中當某些條件得到滿足時,用 break 語句來中斷一個循環(huán)的運行。(請注意,也用 break 語句退出一個 switch 塊。)。如果是一個 for 或者 for...in 循環(huán),在更新計數(shù)器變量時使用 continue 語句越過余下的代碼塊而直接跳到下一個循環(huán)中。

下面的例子基于前面的示例用 break continue 語句控制循環(huán)。

var x = 0;
do
{
    x = window.prompt("What is my favourite number?", x);

    // 判斷用戶是否選擇取消?如果是,退出循環(huán)。
    if (x == null)
        break;

    // 是否輸入一個數(shù)?
    // 如果是則無需要求輸入一個數(shù)。
    if (Number(x) == x)
        continue;

    //  要求用戶只輸入數(shù)字。
    window.alert("Please only enter in numbers!");

} while (x != 42)

if (x == null)
    window.alert("You gave up!");
else
    window.alert("Yep - it's the Ultimate Answer!");
Previous article: Next article: