【问题标题】:Which version of ECMA specification introduced hoisting?哪个版本的 ECMA 规范引入了提升?
【发布时间】:2019-09-27 22:19:39
【问题描述】:

有谁知道吊装规范是什么时候出台的?以及 Internet Explorer 版本 6 是否支持它?

我没有意识到提升存在,因为这些天,我所有的 JavaScript 代码都被转译了。

我隐约记得,当我向我的老板解释说他的 JavaScript 程序在 IE6 或 IE7 中崩溃,因为他正在调用一个在很久以后才声明的函数时,我对我作为 Web 开发人员的第一份工作感到自豪。我想知道我是不是发疯了,记错了?

【问题讨论】:

  • 我很确定提升在 IE6 中有效,尽管我也可能会发疯。我也尽量忘记为 IE
  • 不过,您可能记错了 - 它可能不是函数声明,而是带有函数表达式的变量,例如,fn(); var fn = function() {};

标签: javascript hoisting


【解决方案1】:

我相信 JavaScript 从一开始就实现了提升。根据MDN article on hoisting

在 ECMAScript® 2015 语言规范之前的任何规范规范散文中都不会使用提升这个术语。

我读到这篇文章是说 ECMA 2015 是该术语第一次在语言规范中使用,但该概念在此之前就已经存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 2013-11-17
    • 2023-04-08
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多