We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<script> var a; let b; const c = 'c'; // ... </script>
脚本记录封装了有关正在求值的脚本信息。脚本记录包含 下表 字段
/
基于将 sourceText 解析为 Script 的结果创建脚本记录。
当为了求值脚本而建立 执行上下文 时,当前 全局环境 下的声明会实例化。代码中声明的每个全局绑定都被实例化。
参数 script 是正在建立的 执行上下文 的 ScriptBody。env 是将要在其中创建绑定的全局词法环境。
let
const
var
与显式 var 或函数声明不同,直接在全局对象上创建的属性会导致全局绑定,而这些绑定可能会被 let / const / class 声明遮盖。
<script type="module"> export const test = 'test' </script>
见 winter 《重学前端》中 在script标签写export为什么会抛错? 一章。
今天看 《JavaScript 20 年》中文版 时突然意识到初入门时就知道但目前差点忘了的知识 —— HTML 网页都可能包含多个 <script> 元素。脚本之间通常共享同一个全局对象。由脚本创建的全局变量和函数,对所有后续脚本均可见。
<script> var a = 1; </script> <script> console.log(a); // 1 </script>
我都差点忘了这回事了。。。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Scripts
Script Records
脚本记录封装了有关正在求值的脚本信息。脚本记录包含 下表 字段
/
undefined/
undefinedParseScript ( sourceText, realm, hostDefined )
基于将 sourceText 解析为 Script 的结果创建脚本记录。
ScriptEvaluation ( scriptRecord )
GlobalDeclarationInstantiation ( script, env )
参数 script 是正在建立的 执行上下文 的 ScriptBody。env 是将要在其中创建绑定的全局词法环境。
let
和const
声明的变量名,如果环境中已经有相同的变量名,那么抛异常)var
声明的变量名)const
声明,2020-07-16 补充
如何在 <script></script> 标签中使用 import/export ?
见 winter 《重学前端》中 在script标签写export为什么会抛错? 一章。
2020-07-18 补充
今天看 《JavaScript 20 年》中文版 时突然意识到初入门时就知道但目前差点忘了的知识 —— HTML 网页都可能包含多个 <script> 元素。脚本之间通常共享同一个全局对象。由脚本创建的全局变量和函数,对所有后续脚本均可见。
我都差点忘了这回事了。。。
The text was updated successfully, but these errors were encountered: