zoukankan      html  css  js  c++  java
  • JavaScript学习笔记 -- 带参数arguments的函数的用法

      JavaScript函数有带参数与不带参数两种形式,不带参数情况如下:

    function myFunction() {
        alert('HelloWorld!')
    }

      在这种类型的函数中,输出值是确定的,即明确清楚或可以直接看出输出结果。那么带参数的函数的情况呢,什么时候需要用到参数,为什么要用,好处在哪里?首先我们来看一个简单设置边框颜色的函数,如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>SetColor</title>
        <style>
            #div1{
                300px;
                height:300px;
                border:2px solid red;
        </style>
        <script>
            function toGreen(){     //设置绿色            var oDiv = document.getElementById('div1');
                oDiv.style.borderColor = 'Green';
            }
            function toBlue(){
                var oDiv = document.getElementById('div1');
                oDiv.style.borderColor = 'Blue';
            }
            function toYellow(){
                var oDiv = document.getElementById('div1');
                oDiv.style.borderColor = 'Yellow';
            }
        </script>
    </head>
    <body>
    <input type="button" value="变绿" onclick="toGreen()">
    <input type="button" value="变蓝" onclick="toBlue()">
    <input type="button" value="变黄" onclick="toYellow()">
    <br/>
    <div id="div1"></div>
    </body>
    </html>
    

      在这个例子中,虽然能够实现目的,但是代码太过繁琐且重复出现类似甚至相同代码,

    那么可不可以想办法将代码优化呢?这个时候就到了发挥参数作用的时候了,因为这个例子中只需设置一个

    相同的属性值,那么通过传参,能够大大减少冗余的代码,提高效率。代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>SetColor</title>
        <style>
            #div1{
                300px;
                height:300px;
                border:1px solid red;
            }
        </style>
        <script>
            function setColor(color){
                var oDiv = document.getElementById('div1');
                oDiv.style.borderColor = color;
            }
        </script>
    </head>
    <body>
    <input type="button" value="变绿" onclick="setColor('Green')">
    <input type="button" value="变蓝" onclick="setColor('Blue')">
    <input type="button" value="变黄" onclick="setColor('Yellow')">
    <br/><br/>
    <div id="div1"></div>
    </body>
    </html>
    

      在这个例子中,我们用了一个带参数的setColor(color)函数实现了将设置不同颜色的需求,无论有多少按钮,设置多少种颜色,这一个函数就可以解决。那么什么时候可以使用带参数的函数的呢?当要设定属性值不确定时,传参的方法可以让代码更简洁。

    那么如果需要设置的属性值不止一个,甚至多个时呢?那就根据需要确定参数的个数,比如设置DIV的宽度,高度,背景颜色三个或多个属性时,可以采用function(name,value){}两个参数的形式,具体代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>改变样式</title>
    <style>
        #div1{
            300px;
            height:300px;
            background: red;
        }
    </style>
    
    </head>
    <body>
    <input type="button" value="变宽" onclick="changeStyle('width','400px')">
    <input type="button" value="变高" onclick="changeStyle('height','400px')">
    <input type="button" value="变绿" onclick="changeStyle('background','Green')">
    <br/><br/>
    <div id="div1"></div>
    <script>
        function changeStyle(name,value){
            var oDiv = document.getElementById('div1');
            oDiv.style[name] = value;
        }
    
        function myFunction(){
            alert('HelloWorld!')
        }
    </script>
    </body>
    </html>

    需要注意的是:oDiv.style[name] = value; 这一行代码,为什么我们不写oDiv.style.name = value呢?因为计算机会认为这段代码中的name是oDiv的一个属性,而不同于参数中的name。oDiv.style[name] = value 这种方式可以避免这种情况,而这两种写法都符合属性的输出方式规范,基本上中括号的写法可以代替所有的点写法。

    总结:带参数的函数用于输出值不确定的情况,好处是精简代码。(以后有更深的体会会补充。)

     

    努力成为一个高级前端开发。
  • 相关阅读:
    tar.gz文件
    Ruby Symbol
    Ruby表达式
    Linux相关命令
    Ruby file
    Tomcat优化
    修改Linux文件的所属用户和组
    Ruby String
    Ruby Range
    HTML5开源专业图像处理引擎——AlloyImage(简称AI)
  • 原文地址:https://www.cnblogs.com/webellen/p/5423446.html
Copyright © 2011-2022 走看看