javascript - 在 Javascript 对象字面量中使用属性

标签 javascript

我正在寻找创建具有动态字段的 javascript json 对象,该字段将仅返回基于先前指定的属性的值。到目前为止,这就是我所拥有的...

var car = {
  color: 'red',
  wheels: 4,
  hubcaps: 'spinning',
  age: 4,
  full_name: this.color + ' ' + this.spinning
}

我想知道这是否可行?我的目标是能够引用诸如 car.colorcar.full_name 之类的值。对于此示例,car.full_name 将返回值 red spinning

最佳答案

您可以将您的对象包装在一个函数中,以便您可以对其执行操作,例如串联。

var car = function () {
    var color     = 'red',
        hubcaps   = 'spinning',
        full_name = color + ' ' + hubcaps;

    return {
       color: color,
       wheels: 4,
       hubcaps: hubcaps,
       age: 4,
       full_name: full_name
    };
// (); <- calls the anonymous function after defining it
}();

// true
car.full_name === "red spinning";

编辑: 如@Jimmyt1988 所说,如果您想实例化此函数的新版本,即 OO Javascript,您可以删除内联函数调用 ();并像这样使用它

var myCar = new car();

alert(mycar.color);

关于javascript - 在 Javascript 对象字面量中使用属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24977221/

相关文章:

javascript - MongoClient 连接中的语法错误

javascript - 在浏览器上使用 Javascript require 和 import

JavaScript/jQuery : Setting up IP Geolocation API within CodePen

javascript - "muted"和 "volume = 0.0"是一样的吗?事件监听器以不同的方式对待它们

javascript - html 表单文本元素,无法正确解析为 javascript 方法

javascript - reactjs 源代码中明显的 ifs 有什么意义?

javascript - 如果所有字段未填写,则 jquery/javascript 发出警报

javascript - 为 React Hook Form 和 watch() 自定义 onChange

javascript - msdropdown - 基于第一个下拉列表加载第二个下拉列表

Javascript Jquery 重置值 onclick