Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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中意味着什么?_Javascript_Arrays_Numbers_Compare_Variable Assignment - Fatal编程技术网

这在Javascript中意味着什么?

这在Javascript中意味着什么?,javascript,arrays,numbers,compare,variable-assignment,Javascript,Arrays,Numbers,Compare,Variable Assignment,我注意到以下代码: > (123[45] = 67) == 67 <- true > 123[45] <- undefined >(123[45]=67)==67 123[45] 不能有属性(这就是它们与对象的区别)。另请参见,关于该主题 它实际上正确地响应下一个测试==67 不是属性访问,不是。只是赋值表达式总是计算为其右边的值,不管赋值目标发生了什么 您也可以尝试使用实际对象: var x = { get p() { console.log("getting

我注意到以下代码:

>  (123[45] = 67) == 67
<- true
>  123[45]
<- undefined
>(123[45]=67)==67
123[45]
不能有属性(这就是它们与对象的区别)。另请参见,关于该主题

它实际上正确地响应下一个测试
==67

不是属性访问,不是。只是赋值表达式总是计算为其右边的值,不管赋值目标发生了什么

您也可以尝试使用实际对象:

var x = {
  get p() { console.log("getting"); return 42; },
  set p(val) { console.log("setting "+val); }
};
x.p = 2; // setting 2
console.log(x.p); // getting 42
console.log((x.p = 67) == 67); // setting 67 true - no "getting"!
console.log(x.p); // still: getting 42
不是“像一个数组”,而是“像一个对象”。