写对象文字意味着属性不能相互依赖?

时间:2015-09-03 06:15:38

标签: javascript literals

我们何时以及为什么要输入对象文字? 如果键值对不能交互,是不是有点原始? 我错过了什么,下面的例子中有哪些受过良好教育的方式?

这里引力会导致NaN

<script type="text/javascript" src="abc.com/ajax/libs/jquery/1.7.2/jquery.min.js">

这里引力会导致成功5

var ball = {
    size:10,
    gravity:this.size/2
}

这里引力会导致成功5

var ball = {
    size:10
}
ball.gravity = ball.size/2;

1 个答案:

答案 0 :(得分:0)

像这样的东西

var ball = {
  g: 0,
  get gravity() {
    return this.g;
  },
  set gravity(n) {
    this.g = (parseFloat(n) || 0);
  },
  get size() {
    return (parseFloat(this.g) || 0) / 2;
  },
  set size(n) {
    this.g = (parseFloat(n) || 0) * 2.0;
  }
}

ball.gravity = 10;
console.log(ball.size)
// 5
ball.size = 4;
console.log(ball.gravity)
// 8