| • |
VBScript 只有一种数据类型,即 Variant,这种数据类型可以包含很多不同类型的数据。 |
| • |
JScript 具有用于字符串、数字和布尔值的基元数据类型,以及用于对象和数组的引用数据类型。 |
VBScript 可以解释 JScript 基元数据类型,因此您可以将所需的函数包装在一个自定义 VBScript 函数中。对此,请看下面的代码示例。
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JScript">
var xmas = "December 25,2001";
function showToday()
{
alert( "Today is " + Today() );
}
function showTomorrow()
{
alert( "Tomorrow is " + Tomorrow() );
}
function showTime( date )
{
alert( "The date is " + AnyTime( date ) );
}
function showDaysUntilXmas()
{
alert( "" + DaysUntilXmas() + " days until Xmas" );
}
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
Function Today()
Today = FormatDateTime( Date )
End Function
Function Tomorrow()
Tomorrow = FormatDateTime( DateAdd( "d", 1, Date ) )
End Function
Function AnyTime(TheDate)
AnyTime = FormatDateTime( CDate(TheDate) )
End Function
Function DaysUntilXmas()
DaysUntilXmas = DateDiff( "d", Date, CDate(xmas) )
End Function
</SCRIPT>
</HEAD>
<BODY>
<BUTTON ONCLICK="showToday()">Display today's date</BUTTON>
<BUTTON ONCLICK="showTomorrow()">Display tomorrow's date</BUTTON>
<BUTTON ONCLICK="showTime(xmas)">Display another date</BUTTON>
<BUTTON ONCLICK="showDaysUntilXmas()">Display days until Xmas</BUTTON>
</BODY>
</HTML>
要获取有关 JScript 和 VBScript 语言元素、提供支持的脚本引擎版本、实现每个脚本引擎的宿主应用程序的综合列表,请查看下列 Web 页:
| • | |
| • |
好的,现在您了解了哪些函数可在哪些脚本引擎和浏览器中使用,但是您知道这对您(Web 开发人员)有什么帮助吗?我来告诉您,如果您希望使用较新版本脚本引擎中的可用功能,还想使得您的 Web 页能够在下级浏览器中显示,则可以相应检测该脚本引擎和代码的版本。
Microsoft 脚本引擎版本 3.0 及更高版本提供了下列可用来确定脚本引擎信息的函数:
| • |
ScriptEngine: 返回表示脚本语言的字符串。 |
| • |
ScriptEngineMajorVersion: 返回脚本引擎的主版本号。 |
| • |
ScriptEngineMinorVersion: 返回脚本引擎的次版本号。 |
| • |
ScriptEngineBuildVersion: 返回脚本引擎的内部版本号。 |
使用这些函数的优势在于,它们在 JScript 和 VBScript 中都可用。
Microsoft JScript 引擎版本 2.0 及更高版本提供了条件编译语句和变量,您可以利用这些语句和变量来隔离版本特定的脚本。条件编译支持是通过指定 @cc_on 语句激活的。在此语句后面,您可以与条件编译变量一起使用 @if、@elif、@else 和 @end 语句。通过将这些语句放在注释中,其他浏览器可以忽略您的条件代码。
下面的代码示例演示了如何使用这两个功能。
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JScript">
// Example of conditional compilation
/*@cc_on @*/
/*@if (@_jscript_version >= 5.5)
// Call function that is only available in script engine 5.5
@else @*/
// Alert user that functionality is included in a more recent version of the script engine
/*@end @*/
function init()
{
var ver;
// Example of script engine information functions
if ( "undefined" == "" + typeof ScriptEngineMajorVersion )
ver = "1"; // Function not available before version 2
else
ver = ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion();
}
</SCRIPT>
</HEAD>
<BODY ONLOAD="init()">
</BODY>
</HTML>
