Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从变量内部调用对象属性与从变量外部调用对象属性(JS)_Javascript_Variables_Storage - Fatal编程技术网

Javascript 从变量内部调用对象属性与从变量外部调用对象属性(JS)

Javascript 从变量内部调用对象属性与从变量外部调用对象属性(JS),javascript,variables,storage,Javascript,Variables,Storage,这两个电话有什么区别?它看起来几乎相同,但运行它告诉我不同。从变量内部调用属性和从变量外部调用属性似乎是在调用不同的东西,但我不确定如何调用或为什么调用 PS.Cheese是一个布尔属性,设置为false toggleCheese: function(position) { var pizza = this.pizza[position].cheese; pizza = !pizza; } vs }让我们把这个问题简化到重要的部分。假设您有一个表示非常简单的比萨饼的对象,

这两个电话有什么区别?它看起来几乎相同,但运行它告诉我不同。从变量内部调用属性和从变量外部调用属性似乎是在调用不同的东西,但我不确定如何调用或为什么调用

PS.Cheese是一个布尔属性,设置为false

  toggleCheese: function(position) {
    var pizza = this.pizza[position].cheese;
    pizza = !pizza;
}

vs


}

让我们把这个问题简化到重要的部分。假设您有一个表示非常简单的比萨饼的对象,
{cheese:false}
。我们将创建一个变量
pizza
,并将其指向对象:

var pizza = { cheese: false };
然后制作另一个变量
cheese
,并将其指向对象的
cheese
属性的值:

var cheese = pizza.cheese;
现在,这两者之间的区别是:

cheese = true;
前者表示“将变量
cheese
指向
true
”,后者表示“将变量
pizza
指向的值,并将其
cheese
属性指向
true
”。其中一个只影响
cheese
变量,另一个影响您想要的pizza对象。换句话说,这实际上是两种不相关的赋值操作形式:

<variable> = <value>;
<value>.<property> = <value>;
=;
. = ;

如果要设置变量,请使用变量窗体;如果要设置属性,请使用属性表单。

这是一个稀疏的答案,但我找不到好的副本。因为少一些误导是很重要的。非常感谢你,你的答案是完美的!
pizza.cheese = true;
<variable> = <value>;
<value>.<property> = <value>;