老师,帮我看一下可以吗?为什么if内使用形参 就报错?
来源:6-7 编程练习
伽文Sama
2020-12-11 10:39:12
# 具体遇到的问题
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
在这里输入代码,可通
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title> arguments</title>
</head>
<body>
<p id="test" style="background-color: red; color: blue;">我是一个段落!</p>
<script type="text/javascript">
// 在此处补充代码
function setCss(Dom,styleName,styleValue){
if(arguments.length == 2){
return arguments[0].style[arguments[1]];
}else{
arguments[0].style[arguments[1]] = arguments[2];
}
}
var tt = document.getElementById("test");
console.log(setCss(tt,"color")); //blue
setCss(tt,"color","black");
</script>
</body>
</html>
过选择【代码语言】突出显示
2回答
同学你好,解答如下:
1、效果是对的。
2、if内使用形参是指怎么写呢?可以把代码粘贴上来。
3、也可以使用下方形式完成效果。
像同学的写法和上述老师的写法,styleName和arguments[1]相当于一个变量,不能使用点语法,要使用中括号语法。
祝学习愉快~
伽文Sama
提问者
2020-12-11
还有个问题,老师,dom.style后面 的具体属性名 可以使用点的方式带上吗?试了好像不行,请问老师,是不是因为这里的参数是字符串形式,所以只能使用style[arguments[1]]这种形式?
相似问题