如何通过引用将属性传递给javascript函数?

时间:2015-09-19 11:08:52

标签: javascript function dom

我想在java脚本函数中操作我的页面元素的一些属性,看看这个例子,也许你找到了解决方案来做到这一点。

function doubleup(attr){
attr*=2;
}
doubleup(myDIV.style.zIndex);
doubleup(myDIV.style.opacity);

2 个答案:

答案 0 :(得分:3)

简而言之,你没有。您无法通过引用传递原始值。 但是,您可以使用非原始值执行此操作,因为它们始终作为引用传递。例如:

function doubleup(object, property) {
    object[propety] *= 2;
}
doubleup(myDiv.style, "zIndex");
doubleup(myDiv.style, "opacity");

原始数据类型是字符串,数字,布尔值,最近是Symbol s

答案 1 :(得分:0)

您只将此属性的值传递给该函数,因此您不能更改样式元素,只更改值,可以这样做:

function doubleup(attr){
    return attr*=2;
}

myDIV.style.opacity = doubleup(myDIV.style.opacity);
myDIV.style.zIndex = doubleup(myDIV.style.zIndex);

顺便说一下,您必须使用zIndex代替z-index来操纵此值。

另一种可能的解决方案是:

function doubleup(el){
    el.style.opacity*=2;
}
function doubleupZIndex(el){
    el.style.zIndex*=2;
}

doubleupOpacity(myDIV);
doubleupZIndex(myDIV);