老师这样写为什么不行?
<!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">
// 在此处补充代码
var test=document.getElementById('test');
var csschange=function(){
if(arguments.length==2){
return arguments[0].style.arguments[1];
}else if(arguments.length==3){
return arguments[0].style.arguments[1]=arguments[2]
}else{
return false;
}
}
csschange(test,'background-color','orange');
</script>
</body>
</html>
正在回答 回答被采纳积分+1
同学你好,关于你的问题,回答如下:
1、驼峰命名backgroundColor也是字符串,若是作为参数传递也需要添加引号。
2、老师第一次说的是:当属性名是变量的时候,通过点的方式进行设置,变量会直接作为属性名,而不是变量的值。所以我们这里可以使用[]。而不是当属性名为变量用点。表达的意思是使用变量的时候要用中括号。
3、设置这里没有直接使用background-color,这个是作为参数传递的。使用的是arguments[1],可以这里理解,arguments[1]是个变量,对应的值是background-color。
若是直接使用这个属性的时候用点,比如:直接使用background-color这个属性,就可以是:
arguments[0].style.background-color
若使用变量来表示这个属性,就需要使用中括号。例:
arguments[0].style[arguments[1]]
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星