| JScript? | [語言參考](#) |
|-----|-----|
# 內部對象
Microsoft Jscript 提供了 11 個內部(或“內置”)對象。它們是**Array**、**Boolean**、**Date**、**Function**、**Global**、**Math**、**Number**、**Object**、**RegExp**、**Error** 以及 **String** 對象。每一個對象有相關的方法和屬性,這在[語言參考](#)中有詳細的描述。本節中也描述了某些對象。
### Array 對象
數組下標可以被認為是對象的屬性,它是通過數字索引來引用的。注意添加到數組中的已命名的屬性不能通過數字來索引;它們是與數組元素分離的。
使用 **new** 運算符和 **Array() **[構造器](#) 生成一個新的數組,如下面的示例。
~~~
var theMonths = new Array(12);
theMonths[0] = "Jan";
theMonths[1] = "Feb";
theMonths[2] = "Mar";
theMonths[3] = "Apr";
theMonths[4] = "May";
theMonths[5] = "Jun";
theMonths[6] = "Jul";
theMonths[7] = "Aug";
theMonths[8] = "Sep";
theMonths[9] = "Oct";
theMonths[10] = "Nov";
theMonths[11] = "Dec";
~~~
用關鍵字 **Array** 生成數組時,Jscript 包含了 **length** 屬性,該屬性記錄了數組入口數。如果沒有給該屬性指定值,則設置長度為 0 且數組沒有入口點。如果指定一個數值,則將長度設置為該數。如果指定了不止一個參數,則這些參數被用作數組的入口。另外,參數的數目被賦給 length 屬性。如下面的示例與前一個示例是等價的。
~~~
var theMonths = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
~~~
當向用關鍵字 **Array** 生成的數組中添加元素時,Jscript 自動改變屬性 **length** 的值。Jscript 中的數組索引總是以 0 開始,而不是 1,所以屬性 length 通常比數組的最大索引大 1。
### String對象
在 Jscript 中,可以將字符串(和數)當作對象來處理。[string 對象](#) 有一些內置方法,可以和自己的字符串一起使用。其中一個是[substring 方法](#),它返回字符串的一部分。該方法以兩個數字作為參數。
~~~
aString = "0123456789";
var aChunk = aString.substring(4, 7); //
~~~
將
~~~
aChunk
~~~
設為
~~~
"456"
~~~
。
~~~
var aNotherChunk = aString.substring(7, 4); //
~~~
將
~~~
aNotherChunk
~~~
設為
~~~
"456"
~~~
。
~~~
//
~~~
使用上面生成數組的示例:
~~~
firstLetter = theMonths[5].substring(0,1); //
~~~
將變量
~~~
firstLetter
~~~
設為“
~~~
J
~~~
”。
**String** 對象的另一個屬性是 **length** 屬性。本屬性包含了字符串中的字符數(空字符串為 0)。它是一個數值,可以直接在計算中使用。
~~~
var howLong = "Hello World".length //
~~~
設置變量
~~~
howLong
~~~
為
~~~
11
~~~
。
### Math 對象
**Math** 對象有許多預定義屬性和方法。屬性是特殊的數字。這些特殊的數字之一是 pi 值(近似 3.14159…)。這是 **Math.PI** 屬性,如下例所示。
~~~
//
~~~
聲明一個半徑變量并賦數值。
~~~
var circleArea = Math.PI * radius * radius; //
~~~
注意
~~~
Math
~~~
和
~~~
PI
~~~
大寫。
**Math** 對象的一個內置方法是乘冪方法(或 **pow**),使用該方法求得指定數的冪次。下面的例子同時使用了 pi 和乘冪。
~~~
//
~~~
本公式計算給定半徑的球體的體積。
~~~
volume = (4/3)*(Math.PI*Math.pow(radius,3));
~~~
### Date 對象
**Date** 對象可以被用來表示任意的日期和時間,獲取當前系統日期以及計算兩個日期的間隔。它擁有一些預定義的屬性和方法。通常,**Date** 對象給出星期;月份,天數和年份;以及以小時,分鐘和秒表示的時間。該信息是基于 1970 年1 月 1 日 00:00:00.000 GMT 開始的毫秒數,其中 GMT 是格林威治標準時間(首選術語是 UTC,或者“全球標準時間”,它引用的信號是由“世界時間標準”發布的)。Jscript 可以處理 250,000 B.C. 到 255,000 A.D范圍內的日期。
使用 **new** 運算符創建一個新的 **Date** 對象。下面的示例計算當年已過去的天數和今年剩下的天數。
~~~
/*
~~~
本示例使用前面定義的月份名稱數組。
第一條語句以“
~~~
Day Month Date 00:00:00 Year
~~~
”格式
對
~~~
thisIsToday
~~~
變量賦值。
~~~
*/
~~~
~~~
var thisIsToday = new Date();
~~~
~~~
var toDay = new Date(); //
~~~
獲取今天的日期。
~~~
//
~~~
提取年,月,日。
~~~
var thisYear = toDay.getFullYear();
~~~
~~~
var thisMonth = theMonths[toDay.getMonth()];
~~~
~~~
var thisDay = thisMonth + " " + toDay.getDate() + ", " + thisYear;
~~~
### Number 對象
除了 **Math** 對象中可用的特殊數值屬性(例如 **PI**)外,在 Microsoft Jscript 中, **Number **對象有幾個其他的數值屬性。
| 屬性 | 描述 |
|-----|-----|
| MAX_VALUE | 可能的最大數大約為 1.79E+308;可以是正數或負數。(具體數值隨系統不同而有微小差別。) |
| MIN_VALUE | 可能的最小數大約為 2.22E-308;可以是正數或負數。(具體數值隨系統不同而有微小差別。) |
| NaN | 特殊非數量值,“不是數值”。 |
| POSITIVE_INFINITY | 比最大正數(Number.MAX_VALUE)還要大的任意正值自動被轉換為此值,代表正無窮大。 |
| NEGATIVE_INFINITY | 比最小的負數(負的 Number.MAX_VALUE)還小的任意值被自動轉換為此值,代表負無窮。 |
**Number.NaN** 是一個特殊的屬性,被定義為“不是數值”。例如被 0 除返回 **NaN**。試圖解析一個無法被解析為數字的字符串同樣返回 **Number.NaN**。把 **NaN** 與任何數值或本身作比較的結果都是不相等。不能通過與 **Number.NaN** 比較來測試 **NaN** 結果,而應該使用 **isNaN()** 函數。
[? 2000 Microsoft Corporation 版權所有。保留所有權利。使用規定。](#)
- JScript
- JScript 用戶指南
- Jscript 基礎
- 什么是 JScript?
- 編寫 JScript 代碼
- JScript 的變量
- JScript 的數據類型
- JScript 的運算符
- 控制程序的流程
- JScript 函數
- Jscript對象
- 創建自己的對象
- 內部對象
- JScript 保留關鍵字
- 高級 JScript
- 創建高級對象
- 遞歸
- 變量范圍
- 復制、傳遞和比較數據
- 使用數組
- 特殊字符
- 腳本問題解答
- 條件編譯
- 條件編譯變量
- 在瀏覽器中顯示信息
- 使用消息框
- 語言參考
- 特性信息
- Microsoft JScript 特性 - ECMA
- Microsoft JScript 特性 - 非-ECMA
- JScript 字母順序的關健字列表
- JScript 錯誤
- JScript 運行時錯誤
- JScript 語法錯誤
- JScript 函數
- GetObject 函數
- ScriptEngine 函數
- ScriptEngineBuildVersion 函數
- ScriptEngineMajorVersion 函數
- ScriptEngineMinorVersion 函數
- 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 運算符
- 通用信息
- 運算符優先級
- 運算符總結
- 加法賦值運算符 (+=)
- 加法運算符 (+)
- 賦值運算符 (=)
- 按位“與”賦值運算符 (&=)
- 按位“與”運算符 (&)
- 按位左移運算符 (<<)
- 按位“非”運算符 (~)
- 按位“或”賦值運算符 (|=)
- 按位“或”運算符 (|)
- 按位右移運算符 (>>)
- 按位“異或”賦值運算符 (^=)
- 按位“異或”運算符 (^)
- 逗號運算符 (,)
- 比較運算符
- 復合賦值運算符
- 條件(三目)運算符 (?:)
- 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 對象
- 設計 FileSystemObject
- 處理驅動器和文件夾
- 處理文件
- 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 屬性
- 正則表達式簡介
- 正則表達式
- 早期起源
- 使用正則表達式
- 正則表達式語法
- 建立正則表達式
- 優先權順序
- 普通字符
- 特殊字符
- 非打印字符
- 字符匹配
- 限定符
- 定位符
- 選擇和編組
- 后向引用