函数简介
两种情况下会使用函数:
- 机械式重复的某种功能
- 特定的功能
函数的定义
函数也可以粗略地分为两种:
- 没有返回值
- 有返回值 【多了一个return罢了】
注意:
- 无论哪种都是通过function()来定义的
- 函数名尽量见名知意
- function 函数名(参数1,参数2,....,参数n) 参数可以0个和n个
- 如果函数只定义不调用,将没有任何意义,JavaScript会自动忽略这个函数不会执行
- 如果后面的程序需要用到函数的计算结果就用return返回,反之则不用
没有返回值的函数
function addSum(a,b) //定义函数,a,b为形参
{
var sum = a + b;
alert(sum); //在函数里面就直接输出
}
addSum(12,12); //调用函数在函数体外面,12为实参
没有被调用的部分函数是不会被执行的:
function addSum(12,12)
{
var sum = 12 + 12;
alert(sum);
}
有返回值的函数
function addSum(a,b)
{
var sum = a + b;
return sum;
}
var n = addSum(1,2) + 100;
alert(n);
全局变量与局部变量
作用域:变量的有效范围
全局变量:在整个程序中都可以用
局部变量:只能在被定义的函数中使用,函数结束就跟着over
函数的调用
直接调用
【一般用于没有返回值的函数】
function input()
{
document.write("只有在无人问津的地方努力,才能在万众瞩目的地方登台!");
}
//函数定义有多少个参数,函数调用时就有多少个参数,可以没有参数,根据实际情况决定
input();
在表达式中调用
【一般用于有返回值的函数】
function addSum(a,b)
{
var sum = a + b;
return sum;
}
var n = addSum(12,12) + 100;
alert(n);
在超链接中调用
使用<a>标签
<a href="javascript:函数名"></a>
<body>
<a href="javascript:express()">表白</a>
<script>
function express(){
alert("我爱你!");
}
</script>
</body>
在事件中调用
<body>
<input type="button" onclick="express()" value="提交"/>
<script>
function express(){
alert("我爱你!");
}
</script>
</body>
JavaScript本身就是基于事件的一门语言,比如:鼠标单击事件等等
嵌套函数
注意:
- 在内部定义的函数只能在内部调用,不能在外部调用
- 函数嵌套功能非常强大
以“阶乘”为例
<script>
function wai(a)
{
//嵌套函数定义,计算平方值
function nei(x)
{
return x*x;
}
var m=1;
for(var i=1;i<=nei(a);i++)
{
m=m*i;
}
return m;
}
var sum = wai(2) + wai(3);
document.write(sum);
</script>
wai(2),a=2,其实就是计算的是4的阶乘,因为nei(x)进行了一个平方
内置函数
JavaScript中函数还可以分为自定义函数和内置函数,自定义函数就是平时自己定义的函数,内置函数就是JavaScript内部提供的函数,直接使用就好了
重点强调两个【前面已经写过】:
- parseInt():提取字符串中的数字,只限提取整数
- parseFloat():提取字符串中的数字,只限提取小数
练习题
- 判断某一年是否是闰年
- 求出任意5个数的最大值