Variabel akses di dalam fungsi javascript

Variabel yang dideklarasikan di bagian atas program atau di luar fungsi dianggap sebagai variabel lingkup global

Mari kita lihat contoh variabel lingkup global

// program to print a text 
let a = "hello";

function greet () {
    console.log(a);
}

greet(); // hello

Pada program di atas, variabel a dideklarasikan di bagian atas program dan merupakan variabel global. Ini berarti variabel a dapat digunakan di mana saja dalam program


Nilai variabel global dapat diubah di dalam suatu fungsi. Sebagai contoh,

// program to show the change in global variable
let a = "hello";

function greet() {
    a = 3;
}

// before the function call
console.log(a);

//after the function call
greet();
console.log(a); // 3
_

Pada program di atas, variabel a merupakan variabel global. Nilai a adalah halo. Kemudian variabel a diakses di dalam fungsi dan nilainya berubah menjadi 3

Karenanya, nilai suatu perubahan setelah mengubahnya di dalam fungsi

Catatan. Sebaiknya hindari penggunaan variabel global karena nilai variabel global dapat berubah di berbagai area dalam program. Itu dapat memperkenalkan hasil yang tidak diketahui dalam program


Dalam JavaScript, variabel juga dapat digunakan tanpa mendeklarasikannya. Jika suatu variabel digunakan tanpa mendeklarasikannya, variabel itu secara otomatis menjadi variabel global

Sebagai contoh,

function greet() {
    a = "hello"
}

greet();

console.log(a); // hello

Pada program di atas, variabel a merupakan variabel global

Jika variabel dideklarasikan menggunakan let a = "hello", program akan menampilkan kesalahan

Catatan. Dalam JavaScript, ada "strict mode";_ di mana variabel tidak dapat digunakan tanpa mendeklarasikannya. Untuk mempelajari lebih lanjut tentang ketat, kunjungi JavaScript Ketat


Lingkup Lokal

Variabel juga dapat memiliki cakupan lokal, mis. e itu hanya dapat diakses dalam suatu fungsi

Contoh 1. Variabel Cakupan Lokal

// program showing local scope of a variable
let a = "hello";

function greet() {
    let b = "World"
    console.log(a + b);
}

greet();
console.log(a + b); // error

Keluaran

helloWorld
Uncaught ReferenceError: b is not defined
_

Pada program di atas, variabel a merupakan variabel global dan variabel b merupakan variabel lokal. Variabel b hanya dapat diakses di dalam fungsi salam. Oleh karena itu, ketika kami mencoba mengakses variabel b di luar fungsi, terjadi kesalahan


biarkan adalah Blok Lingkup

Kata kunci

// program to show the change in global variable
let a = "hello";

function greet() {
    a = 3;
}

// before the function call
console.log(a);

//after the function call
greet();
console.log(a); // 3
0 adalah cakupan blok (variabel hanya dapat diakses di blok langsung)

Contoh 2. Variabel cakupan blok

// program showing block-scoped concept
// global variable
let a = 'Hello';

function greet() {

    // local variable
    let b = 'World';

    console.log(a + ' ' + b);

    if (b == 'World') {

        // block-scoped variable
        let c = 'hello';

        console.log(a + ' ' + b + ' ' + c);
    }

    // variable c cannot be accessed here
    console.log(a + ' ' + b + ' ' + c);
}

greet();
_

Keluaran

Hello World
Hello World hello
Uncaught ReferenceError: c is not defined

Pada program di atas, variabel

  • a adalah variabel global. Itu dapat diakses di mana saja dalam program ini
  • b adalah variabel lokal. Ini hanya dapat diakses di dalam fungsi
    // program to show the change in global variable
    let a = "hello";
    
    function greet() {
        a = 3;
    }
    
    // before the function call
    console.log(a);
    
    //after the function call
    greet();
    console.log(a); // 3
    1
  • c adalah variabel cakupan blok. Itu hanya dapat diakses di dalam blok pernyataan
    // program to show the change in global variable
    let a = "hello";
    
    function greet() {
        a = 3;
    }
    
    // before the function call
    console.log(a);
    
    //after the function call
    greet();
    console.log(a); // 3
    2

Oleh karena itu, dalam program di atas, dua yang pertama

// program to show the change in global variable
let a = "hello";

function greet() {
    a = 3;
}

// before the function call
console.log(a);

//after the function call
greet();
console.log(a); // 3
3 bekerja tanpa masalah apapun

Namun, kami mencoba mengakses variabel cakupan blok c di luar blok di

// program to show the change in global variable
let a = "hello";

function greet() {
    a = 3;
}

// before the function call
console.log(a);

//after the function call
greet();
console.log(a); // 3
3 ketiga. Ini akan menimbulkan kesalahan


Catatan. Dalam JavaScript,

// program to show the change in global variable
let a = "hello";

function greet() {
    a = 3;
}

// before the function call
console.log(a);

//after the function call
greet();
console.log(a); // 3
_5 adalah cakupan fungsi dan
// program to show the change in global variable
let a = "hello";

function greet() {
    a = 3;
}

// before the function call
console.log(a);

//after the function call
greet();
console.log(a); // 3
0 adalah cakupan blok. Jika Anda mencoba menggunakan
// program to show the change in global variable
let a = "hello";

function greet() {
    a = 3;
}

// before the function call
console.log(a);

//after the function call
greet();
console.log(a); // 3
_7 di dalam pernyataan
// program to show the change in global variable
let a = "hello";

function greet() {
    a = 3;
}

// before the function call
console.log(a);

//after the function call
greet();
console.log(a); // 3
2 dalam program di atas, seluruh program berfungsi, karena c diperlakukan sebagai variabel lokal

Bagaimana cara mengakses variabel di dalam fungsi JavaScript?

Jadi cara termudah untuk membuat variabel Anda dapat diakses dari luar fungsi adalah pertama-tama mendeklarasikan di luar fungsi, kemudian menggunakannya di dalam fungsi. .
fungsi satu(){ var a;
var a; . lakukan sesuatu(). .
var a;

Bagaimana cara memanggil variabel dalam fungsi JavaScript?

Setelah mendeklarasikan variabel atau fungsi dengan kata kunci var, Anda dapat memanggilnya kapan saja dengan memanggil namanya .

Bagaimana cara mengakses variabel di luar fungsi dalam JavaScript?

Variabel yang dideklarasikan secara Global (di luar fungsi apa pun) memiliki Cakupan Global. Variabel global dapat diakses dari mana saja dalam program JavaScript . Variabel yang dideklarasikan dengan var , let dan const sangat mirip ketika dideklarasikan di luar blok.

Bisakah saya menggunakan var di dalam suatu fungsi?

Kata kunci var terbatas pada ruang lingkup fungsi, artinya ruang lingkup baru hanya dapat dibuat di dalam fungsi . Cakupan fungsi dan blok dapat disarangkan. Dalam situasi seperti itu, dengan beberapa lingkup bersarang, sebuah variabel dapat diakses di dalam lingkupnya sendiri atau dari lingkup dalam. Tetapi di luar cakupannya, variabel tersebut tidak dapat diakses.