如何将字符串和函数参数混合到变量中

时间:2019-01-04 09:49:04

标签: javascript string variables

所以我现在有点需要这样的东西了,但是却一直找不到适合自己需求的东西,很可能是我在搜索错误的东西!

我的目标是从foobar(“ test”)之类的函数中放入一个参数,并将该参数加上该函数中的一些预写字符串,然后将它们加在一起,从而成为一个预先存在的变量...

我认为我的解释很差...但是希望代码示例能得到更好的解释...

我尝试了一些简单的事情,这些事情显然是行不通的,所以我很可能不需要证明自己做了什么...

var text1 = "this is text"

function foo(id) {
    object.innerHTML = "text" + 1 // Then plus those together and make it set it to the variable text1
}

foo(1)

预期:我希望它在对象“ this is text”中写入内容,因为它使text和id变量又名1变为text1,后者是带有“ this is text”字符串的变量

实际结果:显然,这是行不通的,我什至不需要写它就能发现这行不通...只是一个更好地解释的例子...

希望您能提供帮助,谢谢!

3 个答案:

答案 0 :(得分:1)

var text1 = "this is text"

function foo(id) {
    object.innerHTML = window['text'+id];}

foo(1)

答案 1 :(得分:0)

您必须使用评估功能。

var text1 = "this is text"
var text2 = "this is text2"
function foo(id) {
   console.log(eval('text'+id)); 
}

foo(2)

答案 2 :(得分:0)

正如我在评论中解释的那样,从表面上考虑问题会导致建议通常不必要且容易出错的事情,因此应该避免。

还有更多可读性更高的替代方法,例如创建对象并使用其键和[]表示法:

var texts = {
  example: "this is text",
  message: "Hello World!"
};

function foo(id) {
  someDiv.innerHTML = texts[id];
}

foo("message");
<div id="someDiv"></div>