Javascript 如何将字符串转换为键?

Javascript 如何将字符串转换为键?,javascript,Javascript,我需要运行这行Javascript: @model.save({ name: @some_element.val() }) 但是键(在本例中为name)将根据变量的值而变化。变量是键的字符串表示形式。因此,在本例中,变量是“name”。如何使用变量指定正确的键?如果我直接使用变量名,它将被解释为键本身。我正要写:)我通常会将某些字符预处理为varName,这样就不会覆盖对象的预定义方法。因此,例如obj['@'+varName]=…@xanatos,在第1行和第2行之间,您认为这些“预定义”方

我需要运行这行Javascript:

@model.save({ name: @some_element.val() })

但是键(在本例中为
name
)将根据变量的值而变化。变量是键的字符串表示形式。因此,在本例中,变量是
“name”
。如何使用变量指定正确的键?如果我直接使用变量名,它将被解释为键本身。

我正要写:)我通常会将某些字符预处理为varName,这样就不会覆盖对象的预定义方法。因此,例如obj['@'+varName]=…@xanatos,在第1行和第2行之间,您认为这些“预定义”方法会潜入何处?@phil如果您认为这是一个愚蠢的场景,请看这里这是js最常用的JSON库,看看JSON.js的描述:这个文件做了json2.js所做的一切。它还向Object.prototype添加了一个toJSONString方法和一个parseJSON方法。不建议使用此文件,但该文件仍然存在:-@xanatos我感觉该对象被用作
save()
方法的某种配置“映射”,因此,对键名的任何修改都会导致不必要的行为。在这种情况下,我真的无法理解你试图提醒我的警告。对象将被创建、分配一个键/值并使用。不存在意外修改的范围
var obj = {};
obj[varName] = @some_element.val();
@model.save(obj);