JavaScript dovoli Vs var (s primeri)

V tej vadnici boste s pomočjo primerov spoznali razliko med letom in var v JavaScript.

V JavaScript se obe ključni besedi varin letuporabljata za razglasitev spremenljivk.

Ključna letbeseda je bila predstavljena v poznejši različici JavaScripta, znanem kot ES6 (ES2015) . In to je najboljši način za razglasitev spremenljivk.

JavaScript naj Vs var

Tu je pregled razlik med letin var.

pustiti var
let je v blokovnem obsegu. var je obseg funkcije.
let ne dovoljuje ponovne razglasitve spremenljivk. var omogoča ponovno razglasitev spremenljivk.
Dvigovanje se ne zgodi v let. Dvigovanje se zgodi v var.

JavaScript dovoli Vs var v Local Scope

var je obseg funkcije

Spremenljivko, deklarirano znotraj funkcije s, varje mogoče uporabiti kjer koli znotraj funkcije. Na primer

 // 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

V zgornjem programu je spremenljivka a deklarirana z var. Spremenljivko a lahko uporabite kjer koli znotraj funkcije greet.

let je v blokovnem obsegu

Do spremenljivke, prijavljene z, letje mogoče dostopati samo znotraj bloka kode. Na primer

 // 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();

Izhod

 hello world Uncaught ReferenceError: b ni definiran

V zgornjem programu je spremenljivka a deklarirana znotraj funkcije in do nje je mogoče dostopati kjer koli znotraj funkcije (a postane obseg funkcije).

Vendar je spremenljivka b deklarirana znotraj ifstavka bloka. b bo obseg bloka in do njega je mogoče dostopati samo znotraj ifbloka.

Ko poskusite dostopati do b zunaj ifbloka, pride do napake (kot je prikazano zgoraj v programu).

Opomba : Spremenljivke, ki so deklarirane v funkciji, bodo obsegane za obe varin let.

let ne dovoljuje ponovne razglasitve spremenljivk

1. Spremenljivko, prijavljeno z, varje mogoče ponovno prijaviti . Na primer

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

Spremenljivke, prijavljene z, letni mogoče ponovno prijaviti v istem bloku ali istem obsegu. Na primer

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

Izhod

 Uncaught SyntaxError: identifikator 'a' je že razglašen

2. Ponovna razglasitev spremenljivke z vardrugačnim obsegom ali blokom spremeni tudi vrednost zunanje spremenljivke. Na primer

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

Ponovna razglasitev spremenljivke letv drugem obsegu ali bloku obravnava to spremenljivko kot drugo spremenljivko. In vrednost spremenljivke zunaj se ne spremeni. Na primer

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

3. Ko varse v zanki uporablja spremenljivka, deklarirana z , se vrednost spremenljivke spremeni. Na primer

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

V zgornjem programu forzanka ponovno razglasi spremenljivko a. Zato se vrednost na koncu aspremeni v 3 .

Ko spremenljivka razglašena z pustiti se uporablja v zanki, vrednost spremenljivke ne spremeni. Na primer

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

V zgornjem programu forzanka spremenljivko a obravnava kot drugačno spremenljivko od zgoraj navedene. In obseg te spremenljivke je samo znotraj forzanke. Zato vrednost spremenljivke a na koncu ostane 2 .

naj Ne dovoli dvigovanja

Spremenljivke, prijavljene z, varso postavljene na vrh obsega programa. Na primer

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

Ključna beseda letne dovoljuje dvigovanja. Na primer

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

Če želite izvedeti več o dvigovanju, obiščite JavaScript Hosting.

let in var Podpora za brskalnik

Večina sodobnih brskalnikov podpira uporabo brskalnika let. Vendar nekateri brskalniki ne podpirajo popolnoma let.

Če želite izvedeti več, obiščite JavaScript, naj podpira brskalnik.

Opomba : V primeru globalnega obsega se bosta oba varin letobnašala enako. Na primer

 var a = 5; // 5

Spremenljivka a bo globalnega obsega in do nje bo mogoče dostopati kjer koli v programu.

 let a = 5; // 5

Spremenljivka a bo globalnega obsega in do nje bo mogoče dostopati kjer koli v programu.

Zanimive Članki...