javascript - 关于js可变参数的一个取值疑问
本文介绍了javascript - 关于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];
不是用点而是用的[],数组?
解决方案
.
运算符访问属性时,属性名是写定的,不能够根据表达式动态的生成属性名的. []
运算符访问属性时,可以根据[]
里面的表达式动态生成属性名,得到属性名这个字符串.
这篇关于javascript - 关于js可变参数的一个取值疑问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文