老师这题题目我就没看懂
来源: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>效果如下:

祝学习愉快!
相似问题