| JScript? | [語言參考](#) |
|-----|-----|
# 編寫 JScript 代碼
與其他許多編程語言一樣, Microsoft JScript 是用文本方式編寫的,并被組織成為語句、由相關的語句集組成的塊、以及注釋。在一條語句內可以使用[變量](#)、比如字符串和數字(稱為“文字”)的立即數、以及表達式。
### 語句
JScript 程序是語句的集合。一條 Jscript 語句相當于英語中的一個完整句。Jscript 語句將表達式組合起來,完成一個任務。
一條語句由一個或多個表達式、關鍵字或者運算符(符號)組成。典型地,一條語句寫一行,盡管一條語句可以超過兩行或更多行。兩條或更多條語句也可以寫在同一行上,語句之間用分號“;”隔開。通常,每一新行開始一條新語句。不過顯式地終止語句是一個好方法。這是用分號 (;)來實現的,分號是 JScript 語句的終止字符。下面給出 Jscript 語句的兩隔示例。
~~~
aBird = "Robin"; //
~~~
將文本“
~~~
Robin
~~~
”賦值給變量
~~~
aBird
~~~
~~~
var today = new Date(); //
~~~
將今天的日期賦值給變量
~~~
today
~~~
用大括號({})括起來的一組 JScript 語句稱為一個語句塊。分組到一個語句塊中的語句通常可當作單條語句處理。這就是說在 JScript 期望有一條單個語句的大多數地方可以使用語句塊。應該注意以 **for** 和 **while** 打頭的循環語句是例外情況。注意,語句塊中的原始語句以分號結束,但語句塊本身并不以分號結束。
通常,在函數和條件語句中使用語句塊。注意,Jscript 與 C++ 以及其他某些語言不同,它不認為語句塊是一個新的范圍;只有函數創建新范圍。在下面的示例中,第一條語句開始定義一個函數,該函數包含一個五條語句組成的語句塊。語句塊后的三條語句沒有用大括號括起來;這些語句不是一個語句塊,所以就不是函數定義的一部分。
~~~
function convert(inches) {
~~~
???
~~~
feet = inches / 12; //
~~~
這五條語句屬于一個語句塊。
???
~~~
miles = feet / 5280;
~~~
???
~~~
nauticalMiles = feet / 6080;
~~~
???
~~~
cm = inches * 2.54;
~~~
???
~~~
meters = inches / 39.37;
~~~
~~~
}
~~~
~~~
km = meters / 1000; //
~~~
這三條語句不在語句塊內。
~~~
kradius = km;
~~~
~~~
mradius = miles;
~~~
### 注釋
單行的 JScript 注釋以一對正斜杠(//)開始。下面給出一個單行注釋的示例。
~~~
aGoodIdea = "Comment your code thoroughly."; //
~~~
這是一個單行注釋。
多行注釋以一個正斜杠加一個星號的組合(/*)開始,并以其逆向順序 (*/)結束。
~~~
/*
~~~
這是一個用來解釋前面的代碼語句的多行注釋。
該語句將一個值賦給
~~~
aGoodIdea
~~~
變量。
用引號包含的這種值稱為一個文字。
文字顯式并直接包含信息;
而不是簡接地引用信息。
(引號不屬于該文字的內容。)
~~~
*/
~~~
**注意** ? 如果您試圖將一個多行注釋插入到另一個中,JScript 不能按正常的方式解釋生成的多行注釋。標明嵌入的多行注釋結束的 */ 被認為是整個多行注釋的結尾。這就意味著嵌入多行注釋之后的文本不再被認為是注釋;相應地,它將被解釋為 JScript 代碼,并會產生語法錯誤。
建議將所有的注釋寫為單行注釋的語句塊。這樣您以后就能夠將大段的代碼與多行注釋區分開。
~~~
//
~~~
這是另一種多行注釋,寫成一系列單行注釋。
~~~
//
~~~
在執行完該語句后,可以使用
~~~
aGoodIdea
~~~
變量的名字來引用其內容,
~~~
//
~~~
如下一條語句那樣,即采用連接操作將字符串文字添加到
~~~
// aGoodIdea
~~~
變量,以創建一個新的變量。
~~~
var extendedIdea = aGoodIdea + " You never know when you'll have to figure out what it does.";
~~~
### 賦值和相等
JScript 語句中使用等號 (=)給變量賦值:等號是賦值運算符。= 運算符左邊的操作項總是一個 Lvalue。Lvalue 可以是:
- 變量,
- 數組元素,
- 對象屬性。
= 運算符右邊的操作項總是一個 Rvalue。Rvalues 可以是任何類型的一個任意值,包括表達式的值。下面給出一個 JScript 賦值語句的示例。
~~~
anInteger = 3;
~~~
Jscript 編譯器解釋本語句的意義為:“將 3 賦給變量 anInteger”或“anInteger 的值為 3”。
確定您理解了 = 運算符(賦值)和 == 運算符(相等)的差異。在比較兩個值是否相等時,應使用兩個等于號 (==)。這些內容將在 [控制程序的流程](#) 中詳細介紹。
### 表達式
JScript 表達式是指 JScript 解釋器能夠計算生成值的 JScript “短語”。這個值可以是任何有效的 JScript 類型 ― 數字、字符串、對象,等等。最簡單的表達式是文字。下面給出 JScript 文字表達式的一些示例。
~~~
3.9 //
~~~
數字文字
~~~
"Hello!" //
~~~
字符串文字
~~~
false //
~~~
布爾文字
~~~
null //
~~~
文字空值
{
~~~
x:1, y:2} //
~~~
對象文字
~~~
[1,2,3] //
~~~
數組文字
~~~
function(x){return x*x;} //
~~~
函數文字
更多復雜的表達式中包含變量、函數、函數調用以及其他表達式。可以用運算符將表達式組合,創建復合表達式。運算符可以是:
~~~
+ //
~~~
加法
~~~
- //
~~~
減法
~~~
* //
~~~
乘法
~~~
/ //
~~~
除法
下面給出 JScript 復合表達式的一些示例。
~~~
var anExpression = 3 * (4 / 5) + 6;
var aSecondExpression = Math.PI * radius * radius;
var aThirdExpression = aSecondExpression + "%" + anExpression;
var aFourthExpression = "(" + aSecondExpression + ") % (" + anExpression + ")";
~~~
[? 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 屬性
- 正則表達式簡介
- 正則表達式
- 早期起源
- 使用正則表達式
- 正則表達式語法
- 建立正則表達式
- 優先權順序
- 普通字符
- 特殊字符
- 非打印字符
- 字符匹配
- 限定符
- 定位符
- 選擇和編組
- 后向引用