Rumah >hujung hadapan web >tutorial js >Bagaimanakah anda Mentakrifkan Pembolehubah Global dalam CoffeeScript?

Bagaimanakah anda Mentakrifkan Pembolehubah Global dalam CoffeeScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-30 05:39:10581semak imbas

How do you Define Global Variables in CoffeeScript?

Mentakrifkan Pembolehubah Global dalam CoffeeScript

Dalam CoffeeScript, ketiadaan pernyataan var khusus bermakna semua pembolehubah secara tersirat diisytiharkan sebagai setempat. Ini menghalang kebocoran secara tidak sengaja ke dalam ruang nama global semasa penyusunan kepada JavaScript.

Untuk menentukan pembolehubah global, anda perlu menetapkannya sebagai sifat kepada objek global.

Persekitaran Penyemak Imbas: 'Melampirkan pada Tetingkap'

Dalam penyemak imbas, objek global ialah objek tetingkap. Untuk mencipta pembolehubah global bernama foo, anda akan menulis:

window.foo = 'baz'

Persekitaran Node.js: 'Melampirkan pada Eksport'

Dalam Node.js, objek global tidak tersedia sebagai tetingkap . Sebaliknya, anda harus menetapkan pembolehubah global kepada objek eksport:

exports.foo = 'baz'

Mensasarkan Kedua-dua CommonJS dan Penyemak Imbas

Dokumentasi CoffeeScript mencadangkan menggunakan pembolehubah akar untuk menentukan objek global yang sesuai berdasarkan sama ada eksport ditakrifkan (yang berlaku dalam Node.js) atau tidak (yang membayangkan penyemak imbas persekitaran):

root = exports ? this
root.foo = 'baz'

Ungkapan ternary ini memberikan akar kepada eksport jika eksport ditakrifkan, dan kepada ini (konteks global dalam Node.js, atau tetingkap dalam penyemak imbas) sebaliknya.

Contoh: Mengisytiharkan Fungsi Global dalam CoffeeScript

root = exports ? this
root.foo = -> 'Hello World'

Kod ini mengisytiharkan fungsi global bernama foo dalam sama ada Node.js (melalui eksport) atau pelayar (melalui tetingkap) objek global.

Atas ialah kandungan terperinci Bagaimanakah anda Mentakrifkan Pembolehubah Global dalam CoffeeScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn