老师,帮我看一下可以吗?为什么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回答

好帮手慕言

2020-12-11

同学你好,解答如下:

1、效果是对的。

2、if内使用形参是指怎么写呢?可以把代码粘贴上来。

3、也可以使用下方形式完成效果。

http://img.mukewang.com/climg/5fd30b2109dc319807060076.jpg

像同学的写法和上述老师的写法,styleName和arguments[1]相当于一个变量,不能使用点语法,要使用中括号语法。

祝学习愉快~

0

伽文Sama

提问者

2020-12-11

还有个问题,老师,dom.style后面 的具体属性名 可以使用点的方式带上吗?试了好像不行,请问老师,是不是因为这里的参数是字符串形式,所以只能使用style[arguments[1]]这种形式?

0

0 学习 · 14456 问题

查看课程