Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya menentukan Pembolehubah Global dalam CoffeeScript?

Bagaimanakah saya menentukan Pembolehubah Global dalam CoffeeScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-28 14:02:11368semak imbas

How do I define Global Variables in CoffeeScript?

Bagaimanakah saya mentakrifkan Pembolehubah Global dalam CoffeeScript?

Kod CoffeeScript anda dikompilasi ke JavaScript tanpa penyataan var, memasukkannya secara automatik untuk semua pembolehubah mengelakkan kebocoran ke ruang nama global. Untuk mentakrifkan pembolehubah global dengan sengaja, anda mesti menetapkannya sebagai sifat objek global.

'Lampirkan mereka sebagai sifat pada tetingkap' dalam Pelayar

Objek global penyemak imbas ialah tingkap. Untuk mentakrifkan pembolehubah global, gunakan:

window.foo = 'baz';

Node.js

Node.js tidak mempunyai objek tetingkap. Sebaliknya, ia mempunyai objek eksport yang dihantar ke pembungkus yang melampirkan modul. Untuk Node.js, gunakan:

exports.foo = 'baz';

Menyasarkan Kedua-dua CommonJS dan Penyemak Imbas

Dokumentasi CoffeeScript mencadangkan kod berikut untuk menyasarkan CommonJS dan penyemak imbas:

root = exports ? this

Ini menyemak sama ada eksport ditakrifkan (Node.js) dan menetapkannya kepada root jika benar, sebaliknya menetapkan objek global penyemak imbas (tetingkap).

Dalam Node.js, anda boleh menetapkan terus kepada objek eksport, yang dikembalikan oleh fungsi memerlukan. Walau bagaimanapun, dalam CoffeeScript, gunakan yang berikut untuk mentakrifkan fungsi global:

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

Ini memberikan fungsi foo kepada ruang nama global, tidak kira sama ada anda berada dalam penyemak imbas atau menggunakan Node.js.

Atas ialah kandungan terperinci Bagaimanakah saya menentukan 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