var $ 1 = document.getElementById("any"); 仅在Chrome开发工具中执行两次后才能工作

Ale*_*tri 8 javascript google-chrome-devtools

我在Chrome开发者工具控制台上浏览时尝试了一些基本代码:

在此输入图像描述

语言规范说你可以声明一个以字母$或_开头的变量.

那么,为什么会这样呢?它只是一个错误还是有其他理由?
为什么它在第一次不起作用但在重新分配时起作用?

编辑:

我收到关于$ 1到$ 4保留标识符的评论,但我仍然不明白它为什么第二次被分配(而不是第一次或从未被分配)

sha*_*kib 3

引用自devtools文档

开发工具会记住您在选项卡(或“配置文件”面板)中选择的最后五个 DOM 元素(或 JavaScript 堆对象)。它使这些对象可用作 $0、$1、$2、$3 和 $4。$0 返回最近选择的元素或 JavaScript 对象,$1 返回第二个最近选择的元素或 JavaScript 对象,依此类推。

这些保留的标识符的作用与控制台中的其他常规标识符不同。

希望这可以帮助。