# MentalModels
let a = 10;
let b = a;
a = 0;
1
2
3
2
3
它运行后a 的 值是 多少?b的值是多少?,在进一步阅读之前先在脑海中解决它。
# 什么是心智模型
这些关于某些事物如何在您的脑海中运作的近似值被称为“心理模型”。
看看下面的代码
function duplicateSpreadsheet(original) {
  if (original.hasPendingChanges) {
    throw new Error('You need to save the file before you can duplicate it.');
  }
  let copy = {
    created: Date.now(),
    author: original.author,
    cells: original.cells,
    metadata: original.metadata,
  };
  copy.metadata.title = 'Copy of ' + original.metadata.title;
  return copy;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
你能发现这段代码的错误么?,你能在脑海中构建出他们的模型么
如果你细心你就会发现
 copy.metadata.title = 'Copy of ' + original.metadata.title;
1
会改变原始值~
