关于js可变参数的一个取值疑问

看到这么一篇文章:http://www.tuicool.com/articl...
代码片段:

<script>

function css()

{

if(arguments.length==2) //获取

{

return arguments[0].style[arguments[1]];

}

else

{

arguments[0].style[arguments[1]]=arguments[2];

}

}

window.onload=function ()

{

var oDiv=document.getElementById('div1');

alert(css(oDiv, 'width'));   //获取width属性值

css(oDiv, 'background', 'green');

};

</script>

<div id="div1" style="width:200px; height:200px; background:red;"></div>

例子2这么一行:return arguments[0].style[arguments[1]];
为什么不是 这样的写法?
return arguments[0].style.arguments[1];
不是用点而是用的[],数组?

温温酱
浏览 472回答 1
1回答

梵蒂冈之花

.运算符访问属性时,属性名是写定的,不能够根据表达式动态的生成属性名的.&nbsp;[]运算符访问属性时,可以根据[]里面的表达式动态生成属性名,得到属性名这个字符串.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript