首頁 > web前端 > js教程 > 區塊級函數宣告在 ES6 嚴格和非嚴格模式下的行為如何?

區塊級函數宣告在 ES6 嚴格和非嚴格模式下的行為如何?

DDD
發布: 2024-12-11 12:44:11
原創
664 人瀏覽過

How Do Block-Level Function Declarations Behave in ES6 Strict and Non-Strict Modes?

ES6 中的區塊級函數語義

ES6 中引入了區塊級函數聲明,引發了有關其語義的問題。

核心語意

Non-strict mode Strict mode
Hoisted and visible outside of the block Not visible outside of the block

Web 擴充行為

中瀏覽器中,Web擴展語意適用於非嚴格模式下的區塊級函數:

Web Extensions Hoisted? Visible Outside of Block? TDZ?
Yes To both the block and function Yes, as a var declaration Undefined prior to block execution

嚴格模式說明

區塊級函數上下文中的「嚴格模式」是指包含函數宣告的區塊所在的函數的嚴格性。以下範例示範了這一點:

// Non-strict surrounding code

{
    function foo() { "use strict"; }
}
登入後複製

此程式碼被視為函數 foo 的「嚴格模式」。

以上是區塊級函數宣告在 ES6 嚴格和非嚴格模式下的行為如何?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板