Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中字符串的对象名_Javascript - Fatal编程技术网

JavaScript中字符串的对象名

JavaScript中字符串的对象名,javascript,Javascript,我需要将对象名设置为字符串,但我不知道如何做到这一点 我有一个对象和子对象,如下所示: var tempForm = { name : {...}, age : {...}, e-mail : {...} } 然后我得到了一个函数,在这个函数中,我需要返回HtmleElement,并在参数中使用类似id的对象名 function get(obj){ return document.getElementById(// get obj name //

我需要将对象名设置为字符串,但我不知道如何做到这一点

我有一个对象和子对象,如下所示:

var tempForm = {
      name : {...},
      age : {...},
      e-mail : {...}
 }
然后我得到了一个函数,在这个函数中,我需要返回HtmleElement,并在参数中使用类似id的对象名

 function get(obj){
    return document.getElementById(// get obj name //);
 }
例如:

 test = get(tempForm.age);
应该返回HTMLObject 调用gettempForm.age将传递tempForm.age的值。与字符串年龄完全没有联系

实现这一点的一般方法是将您关心的数据放入对象中

var tempForm = {
  name: {
    element_id: "name"
  },
  age: {
    element_id: "age"
  },
  "e-mail": {
    element_id: "e-mail"
  }
}


或者,如果您知道tempFrom变量包含父对象,并且tempForm在get函数的作用域内,则可以在tempForm上循环,并查找传入值的匹配项。但这并不是解决问题的好方法,最好是更好地结构化数据,或者首先明确地传递字符串年龄。

我将重写函数,如下所示:

function getSomething(obj, propName) {
    //and then access property like
    var propObject = obj[propName];
    //....
}
如果你称之为test=getSomethingtempForm,年龄; 在函数中,您将有:

obj == tempForm
propName == "age"
propObject == {... age object of tempForm}

age是对象tempForm的对象JSON,但不是字符串。如果函数get没有意义,可以通过tempForm访问。*其中*是关键字符串名称,eago,e-mail…@Tit-oOo-它不是JSON。JSON是一种数据格式。这是JavaScript。
obj == tempForm
propName == "age"
propObject == {... age object of tempForm}