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

目錄 搜尋
JScript 用戶指南 Jscript 基礎(chǔ) 編寫(xiě) JScript 代碼 JScript 的變量 JScript 的數(shù)據(jù)類型 JScript 的運(yùn)算符 控制程序的流程 JScript 函數(shù) Jscript對(duì)象 創(chuàng)建自己的對(duì)象 內(nèi)部對(duì)象 JScript 保留關(guān)鍵字 高級(jí) JScript 創(chuàng)建高級(jí)對(duì)象 遞歸 變量范圍 復(fù)制、傳遞和比較數(shù)據(jù) 使用數(shù)組 特殊字符 腳本問(wèn)題解答 條件編譯 條件編譯變量 在瀏覽器中顯示信息 使用消息框 語(yǔ)言參考 特性信息 Microsoft JScript 特性 - ECMA Microsoft JScript 特性 - 非-ECMA JScript 字母順序的關(guān)健字列表 JScript 錯(cuò)誤 JScript 運(yùn)行時(shí)錯(cuò)誤 JScript 語(yǔ)法錯(cuò)誤 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 對(duì)象 ActiveXObject 對(duì)象 Array 對(duì)象 Boolean 對(duì)象 Date 對(duì)象 Enumerator 對(duì)象 Error 對(duì)象 Function 對(duì)象 Global 對(duì)象 Math 對(duì)象 Number 對(duì)象 Object 對(duì)象 RegExp 對(duì)象 正則表達(dá)式對(duì)象 String 對(duì)象 VBArray 對(duì)象 JScript 運(yùn)算符 通用信息 運(yùn)算符優(yōu)先級(jí) 運(yùn)算符總結(jié) 加法賦值運(yùn)算符 (+=) 加法運(yùn)算符 (+) 賦值運(yùn)算符 (=) 按位“與”賦值運(yùn)算符 (&=) 按位“與”運(yùn)算符 (&) 按位左移運(yùn)算符 (<<) 按位“非”運(yùn)算符 (~) 按位“或”賦值運(yùn)算符 (|=) 按位“或”運(yùn)算符 (|) 按位右移運(yùn)算符 (>>) 按位“異或”賦值運(yùn)算符 (^=) 按位“異或”運(yùn)算符 (^) 逗號(hào)運(yùn)算符 ( 比較運(yùn)算符 復(fù)合賦值運(yùn)算符 條件(三目)運(yùn)算符 (?:) delete 運(yùn)算符 除法賦值運(yùn)算符 (/=) 除法運(yùn)算符 (/) in 運(yùn)算符 遞增 (++) 和遞減 (--) 運(yùn)算符 instanceof 運(yùn)算符 左移賦值運(yùn)算符 (<<=) 邏輯“與”運(yùn)算符 (&&) 邏輯“非”運(yùn)算符 (!) 邏輯“或”運(yùn)算符 (||) 取余賦值運(yùn)算符 (%=) 取余運(yùn)算符 (%) 乘法賦值運(yùn)算符 (*=) 乘法運(yùn)算符 (*) new 運(yùn)算符 右移賦值運(yùn)算符 (>>=) 減法賦值運(yùn)算符 (-=) 減法運(yùn)算符 (-) typeof 運(yùn)算符 無(wú)符號(hào)右移運(yùn)算符 (>>>) 無(wú)符號(hào)右移賦值操作 (>>>=) void 運(yùn)算符 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 語(yǔ)句 @cc_on 語(yǔ)句 @if 語(yǔ)句 @set 語(yǔ)句 break 語(yǔ)句 Comment 語(yǔ)句 continue 語(yǔ)句 do...while 語(yǔ)句 for 語(yǔ)句 for...in 語(yǔ)句 function 語(yǔ)句 if...else 語(yǔ)句 Labeled 語(yǔ)句 return 語(yǔ)句 switch 語(yǔ)句 this 語(yǔ)句 throw 語(yǔ)句 try...catch...finally 語(yǔ)句 var 語(yǔ)句 while 語(yǔ)句 with 語(yǔ)句 FileSystemObject 用戶指南 FileSystemObject 對(duì)象模型 FileSystemObject 和 Scripting 運(yùn)行時(shí)庫(kù)參考的介紹 FileSystemObject 對(duì)象 設(shè)計(jì) FileSystemObject 處理驅(qū)動(dòng)器和文件夾 處理文件 FileSystemObject 示例代碼 Scripting 運(yùn)行時(shí)庫(kù)參考 腳本運(yùn)行時(shí)方法 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 方法 腳本運(yùn)行時(shí)對(duì)象 Dictionary 對(duì)象 Drive 對(duì)象 Drives 集合 File 對(duì)象 Files 集合 FileSystemObject 對(duì)象 Folder 對(duì)象 Folders 集合 TextStream 對(duì)象 腳本運(yùn)行時(shí)屬性 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 屬性 正則表達(dá)式簡(jiǎn)介 正則表達(dá)式 早期起源 使用正則表達(dá)式 正則表達(dá)式語(yǔ)法 建立正則表達(dá)式 優(yōu)先權(quán)順序 普通字符 特殊字符 非打印字符 字符匹配 限定符 定位符 選擇和編組 后向引用
文字


控制程序的流程

Jscript 腳本中的語(yǔ)句一般是按照寫(xiě)的順序來(lái)運(yùn)行的。這種運(yùn)行稱為順序運(yùn)行,是程序流的默認(rèn)方向。

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

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

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

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

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

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

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

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

使用條件語(yǔ)句

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

下述示例演示了使用 ifif...else 語(yǔ)句的各種可能的語(yǔ)法。第一個(gè)示例演示了最簡(jiǎn)單的布爾測(cè)試。當(dāng)(且僅當(dāng))括號(hào)之間的項(xiàng)的值為(或者可被強(qiáng)制轉(zhuǎn)換為) true 時(shí),if 后續(xù)的語(yǔ)句或語(yǔ)句塊才會(huì)被執(zhí)行。

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

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

// 在本示例中,只要任何一個(gè)條件為真,則測(cè)試即會(huì)滿足。
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!");
}

條件運(yùn)算符

JScript 也支持隱式的條件格式。該格式在要測(cè)試的條件后使用一個(gè)問(wèn)號(hào)(而不是在條件前的 if )。它也指定兩個(gè)可選項(xiàng),一個(gè)在滿足條件時(shí)使用,另一個(gè)在條件不滿足時(shí)使用。這兩個(gè)選擇項(xiàng)之間必須用一個(gè)冒號(hào)隔開(kāi)。

var hours = "";

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

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

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

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

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

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

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

使用循環(huán)

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

使用 for 循環(huán)

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

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



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

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

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

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

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

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

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

下面的代碼范例應(yīng)在 Internet 瀏覽器中運(yùn)行,因?yàn)樗褂?alert 方法,該方法不屬于 Jscript。

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

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

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

使用 while 循環(huán)

while 循環(huán)相似于 for 循環(huán)。其不同之處是 while 循環(huán)沒(méi)有內(nèi)置的計(jì)數(shù)器或更新表達(dá)式。如果希望控制語(yǔ)句或語(yǔ)句塊的循環(huán)執(zhí)行,需要不只是“運(yùn)行該代碼 n 次”,而是更復(fù)雜的規(guī)則,用 while 循環(huán)。下面的示例使用 Internet 瀏覽器對(duì)象模型和 while 循環(huán)來(lái)詢問(wèn)用戶一個(gè)簡(jiǎn)單的問(wè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)沒(méi)有顯式的內(nèi)置計(jì)數(shù)器變量,因此比其他類型的循環(huán)更容易產(chǎn)生無(wú)限循環(huán)。此外,由于不易發(fā)現(xiàn)循環(huán)條件是在何時(shí)何地被更新的,很容易編寫(xiě)一個(gè)實(shí)際上從不更新條件的 while 循環(huán)。因此在編寫(xiě) while 循環(huán)時(shí)應(yīng)特別小心。

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

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 語(yǔ)句

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

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

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

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

    // 是否輸入一個(gè)數(shù)?
    // 如果是則無(wú)需要求輸入一個(gè)數(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!");
上一篇: 下一篇: