設定要使用的 JavaScript 版本

以 JavaScript 語言撰寫原則時,您可以設定用於原則的 JavaScript 版本。

附註: 這適用於 Impact Fix Pack 30 或更新版本。

在 Impact 原則 JavaScript 檔案中,將下列行新增至原則開頭 (即原則檔案中的第一行):

//#VERSION_1_7

這將指示 JavaScript 使用 VERSION_1_7版。

您可以設定的其他 JavaScript 版本如下:

//#VERSION_1_6
//#VERSION_ES6
//#VERSION_1_5"

下表說明每一個註解的用途:

指引 版本

//#VERSION_1_5

JavaScript 1.5

//#VERSION_1_6

JavaScript 1.6

//#VERSION_1_7

JavaScript 1.7

//#VERSION_ES6

ECMAScript 2015

附註: 如需 JavaScript中 ES6 特性相容性的相關資訊,請參閱 Rhino Compatibility 表格 https://mozilla.github.io/rhino/compat/engines.html
附註: 語法檢查程式可能會使用較新的 JavaScript 版本中的關鍵字及特性來報告語法錯誤。 可以忽略這些錯誤。

Impact 隨附的 Mozilla Rhino 版本 JavaScript 會使用較舊的 parseInt ES3 解譯,其中 0X 字串會被視為八進位整數而非十進位。

在這個 JavaScript版本中,下列程式碼在 JavaScript 原則中都傳回 NaN (不是數字) ,而不是整數:

parseInt("08"); // expect 8 but we get NaN
parseInt("09"); // expect 9 but we get NaN

若要修正此問題,請將 JavaScript 版本設為 VERSION_1_7 ,以在原則中使用。

如果原則檔中未設定要使用的 JavaScript 版本,則 JavaScript 所使用的預設版本將指定為 VERSION_DEFAULT ,其值為 0。 如需 JavaScript 實作,請參閱 Rhino 文件: https://mozilla.github.io/rhino/

.

您可以透過將 com.micromuse.response.common.parser.JavaScriptPolicy 類別的 Impact 記載層次設為 debug ,來檢查執行原則時所使用的 JavaScript 版本。 所使用版本的輸出將記載在 Impact 日誌檔中。

下列日誌訊息指出 JavaScript 正在使用 VERSION_1_7版:

[JavaScriptPolicy] !execute: Setting JS VERSION=170

下列日誌訊息指出 JavaScript 正在使用 VERSION_DEFAULT版:

[JavaScriptPolicy] !execute: Setting JS VERSION=0