Javascript 写入对象文字意味着属性不能相互依赖?
何时以及为什么要键入对象文字? 如果键值对不能交互,这不是有点原始吗? 在下面的例子中,我遗漏了什么,受过教育的方式是什么 在这里,重力将导致NaNJavascript 写入对象文字意味着属性不能相互依赖?,javascript,literals,Javascript,Literals,何时以及为什么要键入对象文字? 如果键值对不能交互,这不是有点原始吗? 在下面的例子中,我遗漏了什么,受过教育的方式是什么 在这里,重力将导致NaN var ball = { size:10, gravity:this.size/2 } 在这里,重力将导致成功的5 var ball = { size:10 } ball.gravity = ball.size/2; var ball = {}; ball.size = 10; ball.gravity = ball.s
var ball = {
size:10,
gravity:this.size/2
}
在这里,重力将导致成功的5
var ball = {
size:10
}
ball.gravity = ball.size/2;
var ball = {};
ball.size = 10;
ball.gravity = ball.size/2;
在这里,重力将导致成功的5
var ball = {
size:10
}
ball.gravity = ball.size/2;
var ball = {};
ball.size = 10;
ball.gravity = ball.size/2;
像这样的
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
相关还是重复?:就像你说的:如果你有依赖项,那么就不要使用对象文本。但是,如果没有依赖项,则对象文字可以节省大量键入,因此不太容易出错。这是函数的隐式参数,没有函数。您基本上是在执行undefined/2===NaN,其中严格模式下为undefined。