国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

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 對象 正則表達(dá)式對象 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 屬性 正則表達(dá)式簡介 正則表達(dá)式 早期起源 使用正則表達(dá)式 正則表達(dá)式語法 建立正則表達(dá)式 優(yōu)先權(quán)順序 普通字符 特殊字符 非打印字符 字符匹配 限定符 定位符 選擇和編組 后向引用
characters


遞歸

遞歸是一種重要的編程技術(shù)。該方法用于讓一個函數(shù)從其內(nèi)部調(diào)用其自身。一個示例就是計算階乘。0 的階乘被特別地定義為 1。 更大數(shù)的階乘是通過計算 1 * 2 * ...來求得的,每次增加 1,直至達(dá)到要計算其階乘的那個數(shù)。

下面的段落是用文字定義的計算階乘的一個函數(shù)。

“如果這個數(shù)小于零,則拒絕接收。如果不是一個整數(shù),則將其向下舍入為相鄰的整數(shù)。如果這個數(shù)為 0,則其階乘為 1。如果這個數(shù)大于 0,則將其與相鄰較小的數(shù)的階乘相乘?!?/p>

要計算任何大于 0 的數(shù)的階乘,至少需要計算一個其他數(shù)的階乘。用來實現(xiàn)這個功能的函數(shù)就是已經(jīng)位于其中的函數(shù);該函數(shù)在執(zhí)行當(dāng)前的這個數(shù)之前,必須調(diào)用它本身來計算相鄰的較小數(shù)的階乘。這就是一個遞歸示例。

遞歸和迭代(循環(huán))是密切相關(guān)的 — 能用遞歸處理的算法也都可以采用迭代,反之亦然。確定的算法通??梢杂脦追N方法實現(xiàn),您只需選擇最自然貼切的方法,或者您覺得用起來最輕松的一種即可。

顯然,這樣有可能會出現(xiàn)問題??梢院苋菀椎貏?chuàng)建一個遞歸函數(shù),但該函數(shù)不能得到一個確定的結(jié)果,并且不能達(dá)到一個終點。這樣的遞歸將導(dǎo)致計算機(jī)執(zhí)行一個“無限”循環(huán)。下面就是一個示例:在計算階乘的文字描述中遺漏了第一條規(guī)則(對負(fù)數(shù)的處理) ,并試圖計算任何負(fù)數(shù)的階乘。這將導(dǎo)致失敗,因為按順序計算 -24 的階乘時,首先不得不計算 -25 的階乘;然而這樣又不得不計算 -26 的階乘;如此繼續(xù)。很明顯,這樣永遠(yuǎn)也不會到達(dá)一個終止點。

因此在設(shè)計遞歸函數(shù)時應(yīng)特別仔細(xì)。如果懷疑其中存在著無限遞歸的可能,則可以讓該函數(shù)記錄它調(diào)用自身的次數(shù)。如果該函數(shù)調(diào)用自身的次數(shù)太多,即使您已決定了它應(yīng)調(diào)用多少次,就自動退出。

下面仍然是階乘函數(shù),這次是用 JScript 代碼編寫的。

// 計算階乘的函數(shù)。如果傳遞了
// 無效的數(shù)值(例如小于零),
// 將返回 -1,表明發(fā)生了錯誤。若數(shù)值有效,
// 把數(shù)值轉(zhuǎn)換為最相近的整數(shù),并
// 返回階乘。
function factorial(aNumber)  {
aNumber = Math.floor(aNumber);  // 如果這個數(shù)不是一個整數(shù),則向下舍入。
if (aNumber < 0)  {  // 如果這個數(shù)小于 0,拒絕接收。
    return -1;
    }
      if (aNumber == 0)  {  // 如果為 0,則其階乘為 1。
      return 1;
      }
        else return (aNumber * factorial(aNumber - 1));  // 否則,遞歸直至完成。
}
Previous article: Next article: