Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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_Ecma262 - Fatal编程技术网

Javascript赋值运算符不工作

Javascript赋值运算符不工作,javascript,ecma262,Javascript,Ecma262,log.original_字段始终为空。为什么? var updateChangeLog = function(log, currentRecord) { var records, record; if(!log.original_fields) { records = ["a","b"]; log["original_fields"] = records; // log.original_fields = records; // doesn

log.original_字段始终为空。为什么?

var updateChangeLog = function(log, currentRecord) {
   var records, record;
   if(!log.original_fields) {
      records = ["a","b"];
      log["original_fields"] = records;   
      // log.original_fields = records; // doesnt work either
      debugger;
   }
}

我不认为修改函数作为参数接收的对象是一种好的做法,至少在不返回对象的情况下。更好的方法是使函数成为log对象的方法

比如logObject.updateChangeLogcurrentRecord

updateChangeLog将包含 ... 如果self.u字段 self.original_字段=记录; ...
但请记住将logObject原始_字段初始化为false或nil。

您将向updateChangeLog函数传递什么?日志是一个对象吗?是的,你一定设置错了,对我有用:它允许我修改新属性,但我不能对现有属性做任何事情。对象是来自web sql的记录。我认为你说的是对的。也许它不允许您更改堆栈上的对象,这样您就不会弄乱堆栈上较低的部分/与异步调用有关的部分。无论如何,在函数开始时克隆日志解决了问题。返回JSON.parseJSON.stringifyobject