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

目录

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>

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>

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>

猜你喜欢

转载自blog.csdn.net/weixin_53939785/article/details/124188986
今日推荐