函数

使用JavaScript函数,必须有2步:

(1)定义函数;
(2)调用函数;
一、JS函数的定义

在JavaScript中,使用函数前,必须用function关键字来定义函数。

函数常用方式有2种:

(1)不指定函数名的函数;
(2)指定函数名的函数;
1、不指定函数名的函数

函数,就是语句的集体,即语句块。

function(参数1,参数2,….,参数n)
{
    //函数体语句
}

例如:

 <script type="text/javascript">//定义函数
        var myFunction=function()
        {
            document.write("这是一个没有函数名的函数!");
        }//调用函数
        myFunction();
    </script>
2、指定函数名的函数

“指定函数名的函数”是JavaScript中使用最广泛的方法,反而“不指定函数名的函数”用得比较少。

function 函数名(参数1,参数2,….,参数n)
{
//函数体语句
return 表达式;
}

我们在定义函数的时候用到的参数,那就叫“形参”,例如上面的a和b就是形参。我们在调用函数时,与形参对应的数据叫“实参”。


函数的调用

常用的函数调用方式有4种:

(1)简单调用;
(2)在表达式中调用;
(3)在事件响应中调用;
(4)通过链接调用;
一、简单调用

JS函数简单调用,也被称为直接调用。该方法一般比较适用于没有返回值的函数。也就是说相当于执行函数中的语句集合。

语法:
函数名(实参1,实参2,….实参n);

二、在表达式中调用

在表达式中调用函数的方式,一般适用于有返回值的函数,然后函数的返回值参与表达式的计算。通常该方式还会和输出语句(如document.write()、alert()等)搭配使用。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        function alertMes()
        {
            alert("绿叶学习网JavaScript入门教程");
        }
    </script>
</head>
<body>
    <input type="button" onclick="alertMes()" value="提交"/>
</body>
</html>

效果:
页面中有一个名为提交的按钮,点击后会弹出“绿叶学习网JavaScript入门教程”

四、通过链接调用

函数除了可以在事件响应中调用外,还可以通过超链接来调用函数。

语法:

<a href="javascript:函数名"></a>

说明:
在超链接中调用函数,指的就是在a标签的href属性中使用“javascript:函数名”来调用函数。当用户点击该超链接时,就会执行调用的相应函数。

这里使用转义字符“\n”来使得alert()函数的内容换行。


特殊函数

JavaScript特殊函数有3种:

(1)嵌套函数;
(2)递归函数;
(3)内置函数;
一、嵌套函数

嵌套函数,顾名思义,就是在一个函数的内部定义另外一个函数。不过在内部定义的函数只能在内部调用,如果在外部调用,就会出错。

二、递归函数

递归函数用于让一个函数从其内部调用其本身。不过需要注意的是,如果递归函数处理不当,就会使程序陷入“死循环”。为了防止“死循环”的出现,可以设计一个做自加运算的变量,用于记录函数自身调用的次数,如果次数太多就让它自动退出循环。

语法:

function 递归函数名(参数1)
{
    递归函数名(参数2)
}

在定义递归函数时,需要2个必要条件:
(1)首先包括一个结束递归的条件;
(2)其次包括一个递归调用的语句;

例题:比较两个数的大小

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        function maxNum()
        {
            //获取两个文本框的值
            var x = document.getElementById("num1").value;
            var y = document.getElementById("num2").value;
            //强制转换为数值型
            x = parseFloat(x);
            y = parseFloat(y);
            if(x<y)
            {
                alert("最大数是:"+y);
            }
            else
            {
                alert("最大数是:"+x);
            }
        }
    </script>
</head>
<body>
    第一个数是:<input type="text" id="num1"/><br/>
    第二个数是:<input type="text" id="num2"/><br/>
    <input type="button" onclick="maxNum()" value="计算"/>
</body>
</html>

document.getElementById()类似于CSS中的id选择器,而document.getElementById(“num1”).value表示选取id为num1的元素并获取它的值。

document.getElementById()类似于CSS中的id选择器,而document.getElementById(“num1”).value表示选取id为num1的元素并获取它的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值