JavaScript学习笔记---01函数

1.简单的计算器
<!DOCTYPE html>
<html lang="ch">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript">
        var num1 = parseFloat(prompt("please input first num", ""));
        var num2 = parseFloat(prompt("please input second num", ""));
        var operate = prompt("please input second num", "");
        var result;

        switch (operate) {
            case "+":
                result = num1 + num2;
                break;
            case "-":
                result = num1 - num2;
                break;
            case "*":
                result = num1 * num2;
                break;
            case "/":
                if (num2 != 0) {
                    result = num1 / num2;
                } else {
                    window.alert("the second num can not be 0");
                }
                break;
        }
        document.write("the result is " + result);

    </script>
</head>

<body>

</body>

</html>
2.采用字面直接量的方式定义函数(函数赋值给字面直接量(变量))

var 变量=function(){ }

<script type="text/javascript">

    var myres = function () {
        var num1 = parseFloat(prompt("please input first num", ""));
        var num2 = parseFloat(prompt("please input second num", ""));
        var operate = prompt("please input second num", "");
        var result;

        switch (operate) {
            case "+":
                result = num1 + num2;
                return result;
                break;
            case "-":
                result = num1 - num2;
                return result;
                break;
            case "*":
                result = num1 * num2;
                return result;
                break;
            case "/":
                if (num2 != 0) {
                    result = num1 / num2;
                    return result;
                } else {
                    window.alert("the second num can not be 0");
                }
                break;
        }
        return result;
    }
    //window.alert(myres());
    document.write(myres());
</script>
3.以对象的形式声明一个函数

var 变量=new Function(参数1,参数2,…);

<script type="text/javascript">

        var myres = new Function(alert("123"));
        myres();
    </script>
4.arguments对象(参数的一个对象)

给函数设定参数的时候,自动回生成一个关于参数的arguments对象

<script type="text/javascript">
    function myfor(a, b) {
        for (var i = 0; i < arguments.length; i++) {
            document.write(i * a + "\t");
        }
    }
    myfor(4, 5);

</script>
5.使用arguments对象模拟函数重载
<script type="text/javascript">
    function myfor(a, b) {
        switch (arguments.length) {
            case 1:
                document.write("first param is:" + a);
                break;
            case 2:
                document.write("first param is:" + a + " and the seconde is:" + b);
                break;
            default:
                for (let index = 3; index < arguments.length; index++) {
                    document.write("the param " + index + " is " + arguments[index] + "\n");
                }
                break;
        }
    }
    myfor(4, 5, 6, 9, 21, 443, 54);
	 myfor(4, 54);
</script>

结果:
the param 3 is 9 the param 4 is 21 the param 5 is 443 the param 6 is 54

first param is:4 and the seconde is:5

6.函数指针(函数名)作为参数进行调用,传一个函数给参数-----回调函数

回调函数通过指针来调用

<script type="text/javascript">
        function math(num1, num2, fun) {
            return fun(num1, num2);
        }

        function myfun(num1, num2) {
            return (num1 + num2) * 2 + 1;
        }

        document.write(math(3, 4, myfun));

    </script>

结果
15

也可以通过匿名调用

<script type="text/javascript">
        function math(num1, num2, fun) {
            return fun(num1, num2);
        }
        document.write(math(5, 4, function (num1, num2) {
            return (num1 + num2) * 2 + 1;
        }));

</script>

结果
19

7.定义并同时执行函数
<script type="text/javascript">
        (function myfun() {
            document.write("定义并执行函数");
        })();

    </script>

结果

定义并执行函数
再例

<script type="text/javascript">
        (function myfun(str) {
            document.write("定义并执行函数" + str);
        })("这样作为参数也可以");

    </script>

结果:
定义并执行函数这样作为参数也可以

8.定时调用函数函数
<script type="text/javascript">
        function myfun() {
            var str = Date("yy-m-d H:i:s");
            document.write(str);
        }


        setInterval(myfun, 1000);
    </script>
9.递归函数调用
<script type="text/javascript">
        function myfun(num) {
            if (num > 1) {
                myfun(--num);
            }
            document.write(num);
        }

        myfun(8);
    </script>

结果
11234567

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值