当前位置: 首页 > 编程笔记 >

JavaScript 动态/可变属性名称

澹台权
2023-03-14
本文向大家介绍JavaScript 动态/可变属性名称,包括了JavaScript 动态/可变属性名称的使用技巧和注意事项,需要的朋友参考一下

示例

有时,属性名称需要存储到变量中。在此示例中,我们询问用户需要查找哪个词,然后提供来自我命名的对象的结果dictionary。

var dictionary = {
    lettuce: 'a veggie',
    banana: 'a fruit',
    tomato: 'it depends on who you ask',
    apple: 'a fruit',
    Apple: 'Steve Jobs rocks!' // 属性区分大小写
}

var word = prompt('What word would you like to look up today?')
var definition = dictionary[word]
alert(word + '\n\n' + definition)

注意我们如何使用[]括号表示法来查看名为word;的变量。如果我们使用传统的.表示法,那么它将按字面值取值,因此:

console.log(dictionary.word)  // 不起作用,因为单词是按字面意义使用的,并且字典中没有名为“ word”的字段
console.log(dictionary.apple) //有用!因为苹果是字面上的意思

console.log(dictionary[word]) //有用!因为单词是一个变量,并且在出现提示时用户完美地输入了我们词典中的单词之一
console.log(dictionary[apple]) //错误!苹果未定义(作为变量)

您也可以[]通过将变量替换word为字符串来用表示法编写文字值'apple'。请参见[带有特殊字符或保留字的属性]示例。

您还可以使用方括号语法设置动态属性:

var property="test";
var obj={
 [property]=1;
};

console.log(obj.test);//1

它与以下功能相同:

var property="test";
var obj={};
obj[property]=1;
           

 类似资料:
  • 本文向大家介绍Javascript 动态改变imput type属性,包括了Javascript 动态改变imput type属性的使用技巧和注意事项,需要的朋友参考一下 Javascript 动态改变imput type属性: 代码实现: HTML代码:  可以运行时动态改变imput元素的type属性值 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 问题内容: 我想序列化一个对象,以便根据字段的类型对字段之一进行不同的命名。例如: 在这里,我希望将字段序列化为类似的内容,而不是总是根据情况包含一个称为不同类型的字段。 使用Jackson怎么能达到这样的目的? 问题答案: 使用自定义。 然后,假设您要序列化以下两个对象: 第一个将打印: 第二个: 我使用了包装对象的名称,因为它仅用作花边固定器。如果要删除它,则必须为 整个 类编写一个自定义序列

  • 问题内容: 我想序列化一个对象,以便根据字段的类型对字段之一进行不同的命名。例如: 在这里,我希望将该字段序列化为类似的内容,而不是总是根据情况将字段称为包含不同类型的字段。 使用Jackson怎么能达到这样的目的? 问题答案: 使用自定义。 然后,假设您要序列化以下两个对象: 第一个将打印: 第二个: 我使用了包装对象的名称,因为它仅用作花边固定器。如果要删除它,则必须为 整个 类编写一个自定义

  • 问题内容: 有没有一种方法可以在序列化期间更改Data属性的名称,因此我可以在WEB Api中重用该类。 例如,如果我要返回用户的分页列表,则应将Data属性序列化为“用户”,如果要返回项目列表,则应将其称为“项目”,依此类推。 可能是这样的: 编辑: 我希望对此功能进行控制,例如,尽可能传递名称。如果我叫,我还是想序列化的属性被称为,没有。 例 问题答案: 您可以通过自定义进行操作。解析器可以寻

  • 问题内容: 我如何做到这一点: 问题答案: 请改用方括号表示法。 或者,在现代JavaScript中:

  • 本文向大家介绍使用变量动态设置js的属性名,包括了使用变量动态设置js的属性名的使用技巧和注意事项,需要的朋友参考一下 目标:js的属性名可以使用变量 举例:js对象object,当赋给该对象属性的时候可以采用以下方式 也可以采用如下方式: 在这里prop1 作为属性名称,可以直接用,也可以加上引号,比如: 表达的含义都是一样的,也就是说,prop1只能作为常量被识别,即使它是个变量也没用,例如: