老师这题题目我就没看懂
来源: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>
效果如下:
祝学习愉快!
相似问题