1,函数的定义
函数是由关键字function、函数名加一组参数以及置于花括号中需要执行的一段代码定义的,格式如下:
function name([param 1,param2,……]){statement;[return expression;]
}
function account(price,number){var sum=price*number; //计算金额return sum; //返回计算后的金额
}
2,函数的调用
2.1 函数的简单调用
函数的定义语句通常被放在HTML文件的<head>段中,而函数的调用语句通常被放在<body>段中。如果在函数定义之前调用函数,执行将会出错。
<html>
<head><script type="text/javascript">function functionName(parameters){ //定义函数some statements;}</script>
</head>
<body>
<script type="text/javascript">functionName(parameters); //调用函数
</script>
</body>
</html>
函数的参数分为形式参数(简称形参)和实际参数(简称实参)。其中,形式参数为函数赋予的参数,代表函数的位置和类型,系统并不为形式参数分配相应的存储空间;调用函数时传递给函数的参数称为实际参数,实际参数通常在调用函数之前已经被分配了内存,并且被赋予了实际的数据。在函数的执行过程中,实际参数参与了函数的运行。
2.2 在事件响应中调用函数
<head><script type="text/javascript">function test(){ //定义函数alert("JavaScript网页特效");}</script>
</head>
<body>
<form action="" method="post" name="form1"><input type="button" value="提交" onclick="test();">
</form>
</body>
2.3 在超链接中调用函数
<head><script type="text/javascript">function test(){ //定义函数alert("JavaScript网页特效");}</script>
</head>
<body>
<a href="javascript:test();">test</a>
</body>
3,函数的参数
函数名(实参1,实参2,…)
4,函数返回值
<script type="text/javascript">function functionName(parameters){var results=somestaments;return results;}
</script>
5,函数嵌套调用
6,递归函数
7,js 中的内置函数
JavaScript中的一些主要内置函数及其描述
7.1 parseInt()
主要将首位为数字的字符串转换成数字,如果字符串不是以数字开头,那么将返回NaN。
-
parseInt(string,[n])- string:需要转换为整型的字符串。
- n:用于指出字符串中的数据是几进制的数据。这个参数在函数中不是必需的。
<head><script type="text/javascript">var str1="567mn"; //定义字符串变量var str2="mn567"; //定义字符串变量document.write(parseInt(str1)+"<br>"); //将字符串str1转换成数字并输出document.write(parseInt(str1,8)+"<br>"); //将字符串str1中的八进制数字输出document.write(parseInt(str2)); //将字符串str2转换成数字并输出</script>
</head>
<body>
</body>
7.2 parseFloat()
parseFloat()函数主要将首位为数字的字符串转换成浮点型数字,如果字符串不是以数字开头,那么将返回NaN。
parseFloat(string)7.3 isNaN()
isNaN()函数主要用于检验某个值是否为NaN。该函数的语法格式如下。
isNaN(num)7.4 isFinite()
isFinite()函数主要用于检验一个数值是否有限。该函数的语法格式如下。
isFinite(num)7.5 eval()
eval()函数的功能是计算字符串表达式的值,并执行其中的JavaScript代码。
eval(string)document.write(eval("5+7")); //计算表达式的值并输出结果
document.write("<br>"); //输出换行标签
eval("x=7;y=9;document.write(x*y)"); //执行代码并输出结果
7.6 encodeURI()
encodeURI()函数主要用于对URI字符串进行编码。
encodeURI(url)其中,url代表需要编码的URI字符串。
var URI="http://127.0.0.1/ demo.html?type=网页特效"; //定义URI字符串
document.write(encodeURI(URI)); //对URI字符串进行编码并输出
7.7 decodeURI()
decodeURI()函数主要用于对已编码的URI字符串进行解码。
decodeURI(url)var URI=encodeURI("http://127.0.0.1/demo.html?type=网页特效"); //对URI字符串进行编码
document.write(decodeURI(URI)); //对编码后的URI字符串进行解码并输出
8,匿名函数
除了使用基本的函数语句,还有其他两种方式定义函数:
1,在表达式中定义函数。
2,使用
Function()构造函数来定义函数。8.1 在表达式中定义匿名函数
Js 提供了一种定义匿名函数的简单方法,在表达中直接定义函数,它的语句和
function语句非常相似。var 变量名 = function(param1,param2,……){函数体
};
var sum = function (a, b) {return a + b
}
alert(sum(2, 7))
8.2 使用Function()构造函数定义匿名函数
Js 中另外一种定义匿名函数的方法。
var 变量名=new Function(param1,param2,……"函数体")var sum = new Function("a","b", "return a+b")alert(sum(1,8))