本文介绍了Javascript中的动态变量名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的应用程序中使用提示,他们非常乐于助人。

I use jQuery Impromptu prompts in my application and they're very helpful.

但是,要调用Impromptu提示,您需要指定按钮名称及其返回值,如下所示:

However to call the Impromptu prompts you need to specify the button names and their return values like so:

$.prompt('Example 2',{ buttons: { Ok: true, Cancel: false } });

我真的想拥有动态按钮名称,如下所示:

I would really like to have dynamic button names, something like this:

function showprompt(question, button1, button2) {
  $.prompt(question,{ buttons: { button1: true, button2: false } });
}

但这似乎不起作用,按钮只叫'button1 '和'button2'!

But this doesn't seem to work, the buttons are just called 'button1' and 'button2'!

我尝试过使用 eval(button1) ''+ button1 但它们会带来语法错误。

I've tried using eval(button1) and ''+button1 but they bring up syntax errors.

有什么建议吗?

推荐答案

由于对象文字中的属性名称可以是标识符(而不是字符串),因此不能为它们使用变量。

Since property names in an object literal can be identifiers (rather than strings), you can't use a variable for them.

你必须创建对象,然后使用方括号表示法来赋值。

You have to create the object, and then use square bracket notation to assign the values.

function showprompt(question, button1, button2) {
  var buttons = { };
  buttons[button1] = true;
  buttons[button2] = false;
  $.prompt(question,{ buttons: buttons });
}

这篇关于Javascript中的动态变量名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-12 15:37