Bu komut dosyası, düğüm js kabuğundan çalışıp çalışmadığına veya düğüme iletilen bir komut dosyasında saklandığına göre farklı davranışlara sahiptir.Genelde işlevler neden kullanılamaz?
Senaryo:
var a = 1;
function b(){return 1;}
for(var k in global) console.log(k);
kabuğunda Çıktı (sadece son 4 satır IMO alakalı 3 çizgilerin her biri idi Mac OS X Terminal içinde çalışan bir düğüm REPL örneğine kopyalama/yapıştırılan sırayla.):
ArrayBuffer
Int8Array
Uint8Array
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
DataView
global
process
GLOBAL
root
Buffer
setTimeout
setInterval
clearTimeout
clearInterval
console
: (Mac OS X üzerinde bash
node myscript.js
adlandırılır) kaydedilmiş bir komut dosyası olarak çalıştırmak
ArrayBuffer
Int8Array
Uint8Array
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
DataView
global
process
GLOBAL
root
Buffer
setTimeout
setInterval
clearTimeout
clearInterval
console
module
require
a
_
b
k
Çıktı
Neden farklılar ve neden benim komutum ve b
global
numaralı makalede görünmüyor?
DÜZENLEME: Ek bir deyim ekleyerek c = 2 çıktıyı değiştirdi. c betiği çalıştırmanın her iki yönteminde de görülebilir. Bu yine de betiği kabuktan çalıştırırken a ve b'nin varlığını açıklamıyor.
Denemenize katkıda bulunabilir misiniz: 1) Var değişkensiz bir değişken ataması: Yani sadece bir "c = 3"; 2) 'console.log (this === global)' –
Ayrıca, bu dosyaları Node'a nasıl aktardığınızı da ayrıntılandırabilir misiniz? (Tam komut satırları) –
Bitti. Başka bir şey var mı? – Trindaz