JavaScript函数、案例、数组排序——JS

导读:本篇文章讲解 JavaScript函数、案例、数组排序——JS,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

1.函数 

1.1函数的用途

1.2函数的返回值

1.3 函数的参数

1.4 自定义函数

2.案例【改变网页背景色】

3.数组排序

3.1 冒泡排序

3.2 插入排序


 

1.函数 

1.1函数的用途

函数用来封装一些常用的代码,封装之后用户只负责关注函数的输入、输出和造成的影响,即使不知道函数内部的处理过程,也不影响函数的正常使用。

1.2函数的返回值

函数执行后可以返回一个表示执行结果的值。

举栗:

<script>
        var name=prompt('请输入你的姓名:');
        alert('你的名字是:'+name);
    </script>

JavaScript函数、案例、数组排序——JS

JavaScript函数、案例、数组排序——JS

1.3 函数的参数

在调用函数时,有的函数支持传入一个或者多个参数,多个参数可以用逗号分隔。

prompt('请输入你的姓名:','匿名');

1.4 自定义函数

除了直接调用JavaScript内置函数,用户还可以自己定义函数,用于封装代码。

2.案例【改变网页背景色】

<!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>改变网页背景色</title>
    <script>
        function color(str){
            document.body.style.backgroundColor=str;
        }
    </script>
</head>
<body>
    <input type="button" value="红色" onclick="color('red')">
    <input type="button" value="绿色" onclick="color('green')">
    <input type="button" value="蓝色" onclick="color('blue')">
    <input type="button" value="自定义颜色" onclick="color('#00ff00')">
</body>
</html>

JavaScript函数、案例、数组排序——JS

3.数组排序

3.1 冒泡排序

在冒泡排序中,按照要求从小到大排序或者从大到小排序,不断比较数组中相邻两个元素的值,较小或较大的元素前移。冒泡排序比较的轮数是数组长度减1,每轮比较的对数等于数组长度减去当前的轮数。

下面是用JavaScript实现冒泡排序。

<title>冒泡排序</title>
    <script>
        var arr=[10,2,5,27,98,31];
        console.log('待排序数组:'+arr);
        for(var i=1;i<arr.length;++i)   //控制需要比较的轮数
        {
            for(var j=0;j<arr.length;++j)  //控制参与比较的元素
            {
                if(arr[j]>arr[j+1])    //比较相邻的两个元素
                {
                    [arr[j],arr[j+1]]=[arr[j+1],arr[j]];
                }

            }
        }
        consloe.log('排序后的数组:'+arr);

    </script>

3.2 插入排序

插入排序是冒泡排序的优化,直观简单。实现原理:通过构建有序数组元素的存储,对未排序的数组元素的存储,在已排序的数组中从最后一个元素向第一个元素遍历,找到相应位置并插入。其中,待排序数组第一个元素会被当做是 一个有序的数组,从第2个开始至最后一个元素被看做是一个无序数组。按照从小到大完成插入排序。

下面是用JavaScript实现插入排序。

<script>
    var arr=[4,28,7,4,2001];
    console.log('待排数组:'+arr);
    //按照从小到大的顺序排序
    for(var i=0;i<arr.length;++i) //遍历无序数组下标
    {
        for(var j=i;j>0;--j)     //遍历 比较一个无序数组元素和所有有序数组元素
        {
            if(arr[j-1]>arr[j])
            {
                [arr[j-1],arr[j]]=[arr[j],arr[j-1]];
            }
        }
    }
    //输出从小到大排序后的数组
    console.log('排序后的数组:'+arr);
</script>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119592.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!