【问题标题】:jquery - How to create a variable name from a function argumentjquery - 如何从函数参数创建变量名
【发布时间】:2014-09-22 14:55:43
【问题描述】:
在一个函数中,我想创建一个由一些文本 + 随函数提交的参数组成的变量。例如:
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...
...
}
我希望我能充分描述我的小问题!
谁能给我一些关于如何实现这一目标的建议?
【问题讨论】:
标签:
jquery
function
variables
dynamic
arguments
【解决方案1】:
你可以在窗口中定义
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...
...
}
【解决方案2】:
您也可以使用本地对象。
例如:
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/