„JavaScript“ leido „Vs var“ (su pavyzdžiais)

Šioje pamokoje, naudodamiesi pavyzdžiais, sužinosite apie „JavaScript“ ir „var“ skirtumus.

„JavaScript“ kintamiesiems deklaruoti naudojami varir raktiniai žodžiai, ir letjie.

letRaktažodis buvo įvesta vėlesnės versijos JavaScript žinomas kaip ES6 (ES2015) . Ir tai yra geriausias būdas deklaruoti kintamuosius.

„JavaScript“ leido Vs var

Čia pateikiama skirtumų tarp letir apžvalga var.

leisti var
tegul yra blokuojamas. var yra funkcija.
let neleidžia iš naujo paskelbti kintamųjų. var leidžia iš naujo paskelbti kintamuosius.
Kėlimas nevyksta. Kėlimas vyksta var.

„JavaScript“ leido „Vs“ pakeisti „Local Scope“

var yra funkcija

Kintamasis, deklaruojamas funkcijos viduje, vargali būti naudojamas bet kurioje funkcijos vietoje. Pavyzdžiui,

 // program to print text // variable a cannot be used here function greet() ( // variable a can be used here var a = 'hello'; console.log(a); ) // variable a cannot be used here greet(); // hello

Pirmiau pateiktoje programoje kintamasis a yra deklaruojamas var. Kintamasis a gali būti naudojamas bet kurioje funkcijos vietoje greet.

tegul yra blokuojamas

Su kintamuoju, deklaruojamu, letgalima pasiekti tik kodo bloke. Pavyzdžiui,

 // program to print the text // variable a cannot be used here function greet() ( let a = 'hello'; // variable b cannot be used here if(a == 'hello')( // variable b can be used here let b = 'world'; console.log(a + ' ' + b); ) // variable b cannot be used here console.log(a + ' ' + b); // error ) // variable a cannot be used here greet();

Rezultatas

 labas pasaulis Nepagauta nuorodos klaida: b nėra apibrėžta

Pirmiau pateiktoje programoje kintamasis a yra deklaruojamas funkcijos viduje ir prie jo galima prisijungti bet kur funkcijos viduje (a tampa funkcija apimama).

Tačiau kintamasis b yra deklaruojamas ifbloko sakinyje. b bus blokuojamas ir bus pasiekiamas tik ifbloko viduje .

Taigi, kai bandote pasiekti b už ifbloko ribų, įvyksta klaida (kaip parodyta aukščiau programoje).

Pastaba : kintamieji, deklaruoti funkcijos viduje, bus taikomi abiem varir let.

tegul neleidžia iš naujo paskelbti kintamųjų

1. Su kintamuoju galima deklaruoti vardar kartą. Pavyzdžiui,

 var a = 5; // 5 var a = 3; // 3

Kintamojo, deklaruoto su, letnegalima pakartotinai paskelbti tame pačiame bloke ar toje pačioje sferoje. Pavyzdžiui,

 let a = 5; let a = 3; // error 

Rezultatas

 Nepagauta sintaksės klaida: identifikatorius „a“ jau paskelbtas

2. Deklaravus kintamąjį var, kurio sritis ar blokas yra kitoks, keičiasi ir išorinio kintamojo vertė. Pavyzdžiui,

 var a = 5; console.log(a); // 5 ( var a = 3; console.log(a); // 3 ) console.log(a); // 3

Iš naujo paskelbus kintamąjį su letkita sritimi ar bloku, šis kintamasis traktuojamas kaip kitas kintamasis. O kintamojo vertė išorėje nesikeičia. Pavyzdžiui,

 let a = 5; console.log(a); // 5 ( let a = 3; console.log(a); // 3 ) console.log(a); // 5

3. Kai varcikle naudojamas kintamasis, deklaruotas su , kintamojo vertė pasikeičia. Pavyzdžiui,

 var a = 2; for(var a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 3

Pirmiau pateiktoje programoje forkilpa pakartotinai paskelbia kintamąjį a. Taigi pabaigoje vertė ayra pakeista į 3 .

Kai cikle naudojamas kintamasis, deklaruojamas su let , kintamojo vertė nesikeičia. Pavyzdžiui,

 let a = 2; for(let a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 2

Pirmiau pateiktoje programoje forciklas a kintamąjį traktuoja kaip kitokį nei deklaruotas aukščiau. To kintamojo taikymo sritis yra tik forciklo viduje . Taigi kintamojo a vertė pabaigoje lieka 2 .

tegul neleidžia kelti

Kintamieji, deklaruoti naudojant, varyra iškeliami į programos srities viršų. Pavyzdžiui,

 console.log(a); var a; // undefined (not an error)

Raktinis žodis letneleidžia pakelti. Pavyzdžiui,

 console.log(a); let a; // Uncaught ReferenceError: a is not defined

Jei norite sužinoti daugiau apie kėlimą, apsilankykite „JavaScript“ kėlimas.

„Let and var“ naršyklės palaikymas

Dauguma šiuolaikinių naršyklių palaiko let. Tačiau kai kurios naršyklės nevisiškai palaiko let.

Norėdami sužinoti daugiau, apsilankykite „JavaScript“ leiskite naršyklės palaikymui.

Pastaba : Esant pasaulinio masto, tiek varir letelgsis taip pat. Pavyzdžiui,

 var a = 5; // 5

Kintamasis a bus pasaulinio masto ir prieinamas bet kurioje programos vietoje.

 let a = 5; // 5

Kintamasis a bus pasaulinio masto ir prieinamas bet kurioje programos vietoje.

Įdomios straipsniai...