老师这题题目我就没看懂

来源:6-7 编程练习

豆包侠

2022-06-22 17:48:42

<!DOCTYPE html>

<html lang="zh-CN">

<head>

    <meta charset="UTF-8" />

    <title> arguments</title>

</head>

<body>

   <p id="test" style="background-color: red; color: blue;">我是一个段落!</p>

<script type="text/javascript">

    var test=document.getElementById("test");

   

   var test=function css(){

       if(arguments.length!=2){return arguments[2]}

       else if(arguments.length!=3){ this.style.background-color='orange'}

    }

     css(elem,test,orange)

     console.log(css(arguments[2]))

   

</script>

</body>

</html>

问题描述:

看问题描述 我理解的问题是 css的实参元素 要传入三个值 然后再用arguments.length去判断 如果两个就返回 属性值 也就是第三个 如果有三个就设置 background-color为orange是吗

写回答

1回答

好帮手慕久久

2022-06-22

同学你好,理解的不对。这个题要求写一个函数css,它的参数可以传入2个,也可以传入3个。传入2个参数时,比如css(test, "color"),那么就返回test这个元素的color属性值;如果传入三个参数,比如css(test, "background-color", "orange"),则是给test设置background-color属性,属性值为orange。

可以参考如下代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8" />
    <title> arguments</title>
</head>
<body>
    <p id="test" style="background-color: red; color: blue;">我是一个段落!</p>
    <script type="text/javascript">
        // 设置一个函数css
        function css() {

            if (arguments.length == 2) { // 如果传入了2个参数
                return arguments[0].style[arguments[1]] //返回arguments[0]这个元素的  的 arguments[1] 属性值
            } else {
                // 传入3个参数,给arguments[0]设置arguments[1]这个属性,属性值是arguments[2]
                arguments[0].style[arguments[1]] = arguments[2]
            }
        }
        // 获取dom元素
        var test = document.getElementById("test")

        // 调用css,传入三个参数
        css(test, "background-color", "orange") //--->将test背景色变成orange


        // 调用css,传入2个参数
        console.log(css(test, "color")); //--->返回test的color属性值
    </script>
</body>
</html>

效果如下:

https://img.mukewang.com/climg/62b2e7fa09f68cee09710291.jpg

祝学习愉快!

0

0 学习 · 14456 问题

查看课程