【问题标题】: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...
   ...
}

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

谁能给我一些关于如何实现这一目标的建议?

【问题讨论】:

  • 为什么不直接使用数组并用$id索引它?

标签: 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/

【讨论】:

  • 谢谢你们——你们拯救了我的一天!
猜你喜欢
  • 1970-01-01
  • 2018-02-02
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
  • 1970-01-01
  • 2011-10-25
相关资源
最近更新 更多