函数
函数是完成特定任务的语句块,当需要重复完成某种任务时,就应该把用到的语句组
织成函数。这样在JavaScript程序的任意位置都可以通过引用其名称来执行任务。程序员可
以在程序中建立很多函数,这样有利于组织自己的程序结构,使代码的维护更容易。
自定义函数及调用
自定义函数需要使用function关键字。
语法如下:
function函数名([参数列表])
{
程序语句
[return返回值;]
}
函数的定义需要注意以下事项:
(1)函数名区分大小写,且不能相同,更不能使用JavaScript的关键字。
(2)在function关键字之前不能指定返回值的数据类型。
(3)函数定义中[]是指可选的,也就是说,自定义的函数可以带参数,也可以不带参数。如果有参数,参数可以是变量、常量或表达式。自定义函数可以有返回值,也可以没有,如果省略returm语句,则函数返回undefined。
(4)函数必须放在<script></script>标签之间。
(5)函数的定义最好放在网页的<head></head>部分。
(6)定义函数时并不执行组成该函数的代码,只有调用函数时才执行代码。
注意:调用函数时函数名和"()"必须书写。如果函数有参数则所传的参数应该满足个数相等、类型相同和顺序正确这三个条件。
示例:
<html>
<head>
<title>有参数有返回值函数</title>
<script language="javascript">
<!--
function sumbetween(numl,num2)
{
var total=0,temp;
for(temp=num1;temp<=num2;temp++)
{
total +=temp;
}
return total;
}
//-->
</script></head>
<body><p>
<script type="text/javascript">
var sum=0;
sum=sumbetween(1,100);
document.write("1至100之间所有整数的和为:"+sum);
</script></p>
</body>
</html>
请注意函数参数的写法:不需要指定数据类型,也不需要var关键字。同时也不需要在function关键字之前指定函数的返回值类型。
全局变量与局部变量
根据变量的作用范围,变量可分为全局变量和局部变量。
- 全局变量是指在<script></script>标签中声明的变量,独立于所有函数之外,作用范围是该变量声明后的所有语句,包括在其后定义的函数中的语句。
- 局部变量是在函数中声明的变量(函数的参数列表中的变量也是属于该函数的局部变量),只有在该函数中且位于该变量声明之后的程序代码才可以使用这个变量。局部变量一定是属于某个函数,故对其后的其他函数和脚本代码来说都是不可见的(不能访问)。如果在其后的其他函数和脚本代码中声明了与这个局部变量同名的变量,则这两个变量没有任何关系。
内置函数
parseint()函数
parseInt()函数将一个字符串按指定的进制转换为一个整数。
语法格式如下:
parseInt(numString,[radix])
第一个参数numString为要进行转换的字符串,第二个参数radix是可选的,用于指定转换后的整数的进制,默认是十进制。如果numString不能转换为一个数字,该函数将返回Nan例如,parseInt("123"),parseInt("123.45")和parseInt("123ab")都将返回数字123,parseInt("ab")和parseInt("ab123")都将返回NaN。
parseFloat()函数
parseFloat()函数将一个字符串转换为对应的浮点数。
语法格式如下:
parseFloat(numString)
参数 numString 为要转换的字符串。如果numString不能转换为一个数字,该函数将返回 NaN。例如,parseFloat("123.45")和parseFloat("123.45ab")都将返回数字 123.45,parseFloat("ab"和parseFloat("ab123.45")都将返回 NaN。
isNaN()函数
isNaN(is Not a Number)函数用于检测一个变量或一个字符串是否为NaN。如果是,则返回 true;如果不是,则返回false。
例如,isNaN(parseInt("ab"))将返回 true,isNaN("12")将返回 false。
eval()函数
eval()函数将一个字符串作为一段JavaScript表达式执行,并返回执行的结果。
语法格式如下:
eval(express)
参数 express 是用字符串形式表示的 JavaScript 表达式,该函数将返 JavaScript 解析器执行express 的结果。