为什么"closed"是JS的保留字?

Why is "closed" a reserved word is JS?

好吧,今天下午挠了挠头;我开始意识到为什么我的数组返回时未定义。尽管单词 'closed' 不是保留的 JS 单词;它似乎是其他地方的某种保留字,因此不能调用数组 'closed'.

我的问题是这样的;如果 Javascript 没有保留这个词 - 什么是?浏览器? OS?我读到应该避免将它用作变量/对象的命名约定,但我不明白还有什么试图使用它。

如有任何见解,我们将不胜感激。

<html>
<head>
</head>
<body>
    <script>
    var greatArray = [];
    var closed = [];

    alert(greatArray.length);
    alert(closed.length);
</script>
</body>
</html>

与其说是Javascript保留了它,不如说它是因为Javascript的使用位置而被保留的。考虑一下:

if (myWindow.closed)

因此,必须避免使用 closed 作为全局变量的名称。不过,您可以将其用作局部变量。

如 T.J 所述。拥挤者: 它是 window 上的预定义 属性,您无法重新定义,因为 window 上的所有属性都是全局的