6-7 这样写会不会把参数写的太死了 有什么更好的方法吗

6-7 这样写会不会把参数写的太死了 有什么更好的方法吗

<!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 cssStyle(p,name,value){

 arguments[0] = document.getElementById('test');

  arguments[1] = 'style';

  if(arguments.length <= 2){

        return p.getAttribute(name);

    }else{

       return p.setAttribute(name,value)

    }

}

cssStyle("background:orange");

document.write(cssStyle('color'));

cssStyle(1,2,'background-color:yellow');

</script> 

</body> 

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
纯情掉了一地 2018-01-29 22:06:11

学了jquery  $('#test').css()就可以实现你想要的效果了我的那个demo没有进行类型判断等等。。抓紧时间学习新的概念和知识吧,多联想就好啦。知道的概念和知识越多,解决问题的办法也就越多了,拿来主义不可耻,也不意味着没有经过思考,因为前端的东西太特么多了,先上了班再说,重点就是做笔记,先能安身立命 ,再考虑技术细节!!

纯情掉了一地 2018-01-29 22:02:51

1.函数的参数可以理解为函数内部的变量。

      function cssStyle(p){}在解析的时候相当于

      function cssStyle(p){var  p=undefined}

      //所以,在创建函数的时候p已经成为第一个参数,即p=arguments[0];对p进行操作 即可,对arguments[0]进行具体的赋值,相当于对p进行的具体的赋值。而p是参数,对参数赋值,那还传它有啥用呢??

<body>

<p id="test" style="background-color: red; color: blue;">我是一个段落!</p>
<p id="test1" style="background-color: lawngreen; color: #000;">我是一个段落!</p>
<p id="test2" style="background-color: yellow; color: blue;">我是一个段落!</p>

<script type="text/javascript">

   function cssStyle(Tagname,stylename,value) {
       var Tag_obj = document.getElementById(Tagname);
       if(arguments.length===1){//如果只传入标签的id名返回所有style样式,
           return Tag_obj.style.cssText;
       }else if(arguments.length===2){//如果这个参数有传入样式名但没有传入值 ,则返回当前标签的所有样式属性
           return Tag_obj.style[stylename];
       }else{
           Tag_obj.style[stylename]=value;//如果传入的都有值,那么设置样式;
       }
   }
   console.group(cssStyle('test'))
   console.log(cssStyle('test1','backgroundColor'))
   cssStyle('test2','backgroundColor','#ff5555')//
</script>

</body>

      

樱桃小胖子 2018-01-29 18:53:07

这里只是用来做简单的测试练习,让大家练习参数的相关习题。在实际的项目开发中,会根据具体的项目以及代码来进行编写。建议先继续向下学习,随着技术的加深之后,再来完善目前这段代码,你会有新的收获的哦~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师