如果我有类似的话:
let x = 20;
var z = 20;
将
x === z
答案 0 :(得分:6)
===
不会比较变量 - 它会比较值。假设两个变量都保持相同的值(20
),它们将“相等”。
对于等式how those variables were declared并不重要,只是它们都在范围内并且在评估===
操作时分配了该值。您的示例代码段就是这种情况。
答案 1 :(得分:3)
尝试一下,亲眼看看......
(如果没有显示任何内容,因为你是using a browser that doesn't support let
。)
"use strict";
let x = 20;
var z = 20;
document.write(x === z);
阅读this answer,了解有关let
和var
之间差异的详细信息:
区别在于范围界定。
var
的范围限定为最近的功能块(如果在功能块之外,则为全局功能块),let
的范围限定为最近的封闭块(如果在任何块之外,则为全局),可以小于a {}功能块。