jquery - 如何从函数参数创建变量名

时间:2014-07-30 19:53:22

标签: jquery function variables dynamic arguments

在一个函数中,我想创建一个由一些文本+随函数提交的参数组成的变量。例如:

function adjust($id){
   var bh = parseFloat($('#body_data').css('height')) / 12;
   var nt = $('#fs_notice' + $id).offset().top / 12;
   var nh+$id = bh - nt; // variable name should be "nh1" when $id = 1, "nh2" when $id = 2 and so on...
   ...
}

我希望我充分描述了我的小问题!

有人可以就如何实现这一点给我一些建议吗?

2 个答案:

答案 0 :(得分:0)

您可以在窗口中定义

window[nh+$id] = bh - nt;

您还可以使用在窗口范围中定义的数组,其中$ id应该是递增索引。

var arr = [];
function adjust($id){
   var bh = parseFloat($('#body_data').css('height')) / 12;
   var nt = $('#fs_notice' + $id).offset().top / 12;
   var arr[$id] = bh - nt; // variable name should be "nh1" when $id = 1, "nh2" when $id = 2 and so on...
    ...
}

答案 1 :(得分:0)

您也可以使用本地对象。 例如:

function adjust($id){
 var obj={}, variableString = "nh" + $id;
 var bh = 3;
 var nt = 2;
 obj[variableString] = bh - nt;
 ...//Use obj[variableString] going fwd
 }

创建了一个样本小提琴:http://jsfiddle.net/vB4M7/13/