JavaScript 脚本语言提供了很多全局(内建)函数,在脚本编程过程中可直接调用,在此介绍四种简单的全局函数:parseInt()、parseFloat()、escape()和unescape()。
parseInt()函数的作用是将字符串转换为整数,parseFloat()函数的作用是将字符串转换为浮点数;escape()函数的作用是将一些特殊字符转换成ASCII 码,而unescape()函数的作用是将ASCII 码转换成字符。
考察如下测试代码:
//源程序2.19
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html140/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Sample Page!</title>
<script language="JavaScript" type="text/javascript">
<!--
var msg="\n 全局函数调用实例 : \n\n";
//响应按钮的onclick 事件处理程序
function Test()
{
var string1="30121";
var string2="34.12";
var string3="Money*#100";
var temp1,temp2,temp3,temp4;
msg+="原始变量 : \n";
msg+="string1 = "+string1+"类型 : "+typeof(string1)+"\n";
msg+="string2 = "+string2+"类型 : "+typeof(string2)+"\n";
msg+="string3 = "+string3+"类型 : "+typeof(string3)+"\n";
msg+="执行语句与结果:\n";
temp1=parseInt(string1);
temp2=parseInt(string2);
msg+="语句 : parseInt(string1) 结果 : string1="+temp1+"类型 : "+typeof(temp1)+"\n";
msg+="语句 : parseInt(string2) 结果 : string1="+temp2+"类型 : "+typeof(temp2)+"\n";
temp1=parseFloat(string1);
temp2=parseFloat(string2);
msg+="语句 : parseFloat(string1) 结果 : string1="+temp1+"类型 : "+typeof(temp1)+"\n";
msg+="语句 : parseFloat(string2) 结果 : string1="+temp2+"类型 : "+typeof(temp2)+"\n";
temp3=escape(string3);
msg+="语句 : temp3=escape(string3) 结果 : temp3="+temp3+"类型 : "+typeof(temp3)+"\n";
temp4=unescape(temp3);
msg+="语句 : temp4=unescape(temp3) 结果 : temp4="+temp4+"类型 : "+typeof(temp4)+"\n";
alert(msg);
}
-->
</script>
</head>
<body>
<center>
<form>
<input type=button value="测试" onclick="Test()">
</form>
</center>
</body>
</html>
程序运行后,在原始页面单击“测试”按钮,弹出警告框如图2.31 所示。
图2.31 全局函数
由程序运行结果可知上述全局函数的具体作用,当然JavaScript 脚本语言还支持很多其他的全局函数,在编程中适当使用它们可大大提高编程效率。
与全局函数相对应的函数是局部函数,即定义在某特定函数内部,并仅能在其内使用的函数。
考察如下测试代码:
//源程序2.20
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html140/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Sample Page!</title>
<script language="JavaScript" type="text/javascript">
<!--
var msg="\n 局部函数调用实例 : \n\n";
//响应按钮的onclick 事件处理程序
function multi(m,n)
{
var result;
function inner(m)
{
if (m%2!=0)
return 0;
else
return 1;
}
result=inner(m)*n;
msg+="输入参数 : \n";
msg+="m = "+m+"\n n = "+n+"\n";
msg+="乘积结果 : \n";
msg+="result = "+result+"\n";
alert(msg);
}
-->
</script>
</head>
<body>
<center>
<form>
<input type=button value="测试" onclick="multi(4,3)">
</form>
</center>
</body>
</html>
程序运行后,在原始页面单击“测试”按钮,弹出警告框如图2.32 所示。
图 2.32 局部函数
函数 muti()内部定义了局部函数inner(),判断变量m 是否为偶数,如果是偶数则返回1,否则返回0。根据调用语句muti(4,3),m=4 为偶数,故局部函数inner()返回值为1,函数muti()的返回值为3。
注意:通过上述方式定义的函数为局部函数,函数的作用域为自所属的框架函数,任何处于框架函数外
部对局部函数的引用均为不合法。