Pengisytiharan fungsi peringkat blok telah diperkenalkan dalam ES6, menimbulkan persoalan tentang semantiknya.
Non-strict mode | Strict mode |
---|---|
Hoisted and visible outside of the block | Not visible outside of the block |
Dalam penyemak imbas, semantik sambungan web digunakan pada fungsi peringkat blok dalam mod tidak ketat:
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 |
"Mod ketat" dalam konteks fungsi peringkat blok merujuk kepada ketegasan fungsi di mana blok yang mengandungi pengisytiharan fungsi berlaku. Contoh berikut menunjukkan perkara ini:
// Non-strict surrounding code { function foo() { "use strict"; } }
Kod ini dianggap "mod ketat" untuk fungsi foo.
Atas ialah kandungan terperinci Bagaimanakah Perisytiharan Fungsi Tahap Blok Berkelakuan dalam Mod Tegas dan Tidak Tegas ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!