JavaScript基础:匿名方法的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JavaScript基础:匿名方法的使用</title>
    <!--
        匿名方法的概念:
            可以简单地理解成不需要写方法名称的方法
        匿名方法的的写法:
            1、方式一:
                function (params){

                }

                这种方式可以把匿名方法赋值给一个变量,调用这个变量即可使用该方法(类似c#中的委托)。

            2、方式二:
                (function (param1, param2){
                    ......
                })(1, 2);

                这种方式可以在定义匿名方法时同时传参以及调用。
    -->
    <script>
        // 定义匿名函数,并把它赋值给一个变量plusResult
        var plusResult = function (param1, param2){
            var retVal1 = param1 + param2;
            console.log("相加后的最终值是:" + retVal1);
        };

        // 调用匿名函数时,需要委托给变量plusResult,让它代替行使匿名函数的职责
        plusResult(2, 5);

        // 使用sort方法进行升序排序
        var array1 = [2, 4, 8, 3, 5, 7, 6, 9, 1];
        // 直接把array赋值给一个变量,是地址引用,改变初始array的数值,被赋值的array也会跟着改变数值
        var array2 = array1;  

        console.log("对array1数组进行升序排序前,array2的数据是:");
        console.log(array2);

        // 即使array1在调用升序方法sort前,给array2赋值,array2的值也会随着array1的改变而改变
        array1.sort();

        console.log("对array1数组进行升序排序后,array1的数据是:");
        console.log(array1);

        console.log("对array1数组进行升序排序后,array2的数据是:");
        console.log(array2);


        // 调用匿名方法进行倒序排序
        var array3 = [2, 4, 1, 3];

        // 简略步骤:调用匿名函数
        // array3.sort(function(param1, param2){
        //     return param2 - param1;   // 降序效果
        // });


        // 详细步骤:调用匿名函数
        var descSortFun = function(param1, param2){
            return param2 - param1;   // 降序效果
        };

        array3.sort(descSortFun);

        // 初始的排序为: 2, 4, 1, 3
        // 先比较4和2,param1 = 4, param2 = 2, return value = -2
        // 再比较1和4,param1 = 1, param2 = 4, return value = 3
        // 此时的排序为: 4, 2, 1, 3
        // 先比较1和2,param1 = 1, param2 = 2, return value = 1
        // 再比较3和2,param1 = 3, param2 = 2, return value = -1
        // 再比较3和4,param1 = 3, param2 = 4, return value = 1
        // 此时的排序为: 4, 3, 2, 1


        console.log("对array3数组进行降序排序后,array3的数据是:");
        console.log(array3);


        // 调用匿名方法进行升序排序
        var array4 = [2, 4, 1, 3];

        // 简略步骤:调用匿名函数
        // array4.sort(function(param1, param2){
        //     return param1 - param2;   // 升序效果
        // });


        // 详细步骤:调用匿名函数
        var ascSortFun = function(param1, param2){
            return param1 - param2;   // 升序效果
        };

        array4.sort(ascSortFun);

        // 初始的排序为: 2, 4, 1, 3
        // 先比较4和2,param1 = 4, param2 = 2, return value = 2
        // 再比较1和4,param1 = 1, param2 = 4, return value = -3
        // 先比较1和2,param1 = 1, param2 = 2, return value = -1
        // 此时的排序为: 1, 2, 4, 3
        // 再比较3和2,param1 = 3, param2 = 2, return value = 1
        // 再比较3和4,param1 = 3, param2 = 4, return value = -1
        // 此时的排序为: 1, 2, 3, 4


        console.log("对array4数组进行升序排序后,array4的数据是:");
        console.log(array4);


        // 定义匿名方法的同时进行调用
        // 方式一:需要传参
        (function(param1, param2){
            var retVal2 = param1 - param2;
            console.log("相减后的最终值是:" + retVal2);
        })(10, 2);


        // 方式二:不需要传参
        (function(){
            console.log("听说越努力越幸运,你相信吗?");
        })();
        
    </script>
</head>
<body>
    <h3>JavaScript基础:匿名方法的使用</h3>
</body>
</html>

控制台显示以下内容:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值