Javascript cập nhật biến toàn cục trong hàm

Các biến được khai báo bên ngoài bất kỳ hàm nào trở thành biến toàn cục. Các biến toàn cục có thể được truy cập và sửa đổi từ bất kỳ chức năng nào

Ví dụ. Biến toàn cục

<script>

    var userName = "Bill";

    function modifyUserName() {
            userName = "Steve";
        };

    function showUserName() {
            alert(userName);
        };

    alert(userName); // display Bill
    
    modifyUserName();
    showUserName();// display Steve

script>

Thử nó

Trong ví dụ trên, biến userName trở thành biến toàn cục vì nó được khai báo bên ngoài bất kỳ hàm nào. Một hàm modifyUserName() sửa đổi userName vì userName là một biến toàn cục và có thể được truy cập bên trong bất kỳ hàm nào. Tương tự, hàm showUserName() hiển thị giá trị hiện tại của biến userName. Việc thay đổi giá trị của biến toàn cục trong bất kỳ hàm nào sẽ phản ánh xuyên suốt chương trình

Xin lưu ý rằng các biến được khai báo bên trong hàm không có từ khóa var cũng trở thành biến toàn cục

Ví dụ. Biến toàn cục

<script>

    function createUserName() {
        userName = "Bill";
    }

    function modifyUserName() {
        if(userName)
            userName = "Steve";
    };

    function showUserName() {
        alert(userName);  
    }
    
    createUserName();
    showUserName(); // Bill 

    modifyUserName();
    showUserName(); // Steve 

    
script>

Thử nó

Trong ví dụ trên, biến userName được khai báo mà không có từ khóa var bên trong createUserName(), vì vậy nó sẽ tự động trở thành biến toàn cục sau khi gọi createUserName() lần đầu tiên

Ghi chú

Biến userName sẽ chỉ trở thành biến toàn cục sau khi createUserName() được gọi ít nhất một lần. Gọi showUserName() trước createUserName() sẽ đưa ra một ngoại lệ "userName không được xác định"

Phạm vi địa phương

Các biến được khai báo bên trong bất kỳ hàm nào có từ khóa var được gọi là biến cục bộ. Các biến cục bộ không thể được truy cập hoặc sửa đổi bên ngoài khai báo hàm

Ví dụ. Phạm vi địa phương

<script>
    
    function createUserName() {
        var userName = "Bill";
    }

    function showUserName() {
        alert(userName);
    }

    createUserName();
    showUserName(); // throws error: userName is not defined

script>

Thử nó

Javascript cập nhật biến toàn cục trong hàm
Các tham số của hàm được coi là biến cục bộ

Trong ví dụ trên, userName là cục bộ của hàm createUserName(). Không thể truy cập nó trong hàm showUserName() hoặc bất kỳ hàm nào khác. Nó sẽ báo lỗi nếu bạn cố truy cập một biến không thuộc phạm vi cục bộ hoặc toàn cầu. Sử dụng khối try catch để xử lý ngoại lệ

Một số lời khuyên

Nếu biến cục bộ và biến toàn cục có cùng tên thì việc thay đổi giá trị của biến này không ảnh hưởng đến giá trị của biến khác

Ví dụ. Phạm vi

var userName = "Bill";

function ShowUserName()
{
    var userName = "Steve";

    alert(userName); // "Steve"
}

ShowUserName();

alert(userName); // Bill

Thử nó

JavaScript không cho phép phạm vi cấp khối bên trong { }. Ví dụ: các biến được xác định trong khối if có thể được truy cập bên ngoài khối if, bên trong một hàm

Biến toàn cục trong javascript là biến có phạm vi toàn cục, nghĩa là có thể truy cập nó từ bất cứ đâu trong chương trình

cú pháp

  //outside of any block or function
  let myVal = 10;

Phạm vi Toàn cầu là gì?

Phạm vi của một biến đại diện cho nơi nó sẽ có sẵn để sử dụng bên trong chương trình. Biến có phạm vi toàn cầu có thể truy cập được ở mọi nơi trong chương trình

Tự động toàn cầu là gì?

Khi chúng ta khởi tạo một biến mà không khai báo trước, nó sẽ tự động biến biến đó thành toàn cầu. Lý do đằng sau hành vi này là, khởi tạo mà không khai báo cũng giống như khởi tạo biến vào đối tượng cửa sổ như cửa sổ này. myVal = 10 trong mã bên dưới

Ghi chú. Trong "Chế độ nghiêm ngặt", việc khởi tạo một biến mà không khai báo trước sẽ không tự động tạo biến toàn cục

Ví dụ-

//Global scope
function myFun() {
  //Function scope
  myVal = 10;
}

myFun();
console.log(myVal); //output => 10

Đầu ra-

Ở trên, chúng ta có một hàm myFun đang được gọi, bên trong hàm myFun myVal được khởi tạo một giá trị, nhưng myVal không được khai báo trước. Kết quả là myVal sẽ tự động trở thành biến toàn cục. In myVal trên bảng điều khiển bên ngoài phạm vi của nó sẽ in 10 dưới dạng đầu ra, điều này xác minh rằng myVal hiện là một biến toàn cầu

Biến toàn cầu JavaScript hoạt động như thế nào?

Khi một biến toàn cục trong javascript được khai báo, nó sẽ được di chuyển lên trên phạm vi toàn cầu, tôi. e. nó được đưa vào ngăn xếp cuộc gọi ngay từ đầu, do cẩu, nơi nó có sẵn để sử dụng ở mọi nơi trong chương trình

Ví dụ-

  //Global scope
  let myVal = 20;
  
  function addOne() {
      myVal = myVal + 1;
  }
  
  function print(val) {
      console.log("value is :"+ myVal);
  }

  addOne();
  print(); //output => value is 21

Đầu ra-

Ở trên, chúng ta có một biến toàn cục myVal được sử dụng trong hai hàm liên tiếp addOne và print. Trong hàm addOne, chúng tôi đã thêm 1 vào myVal và in giá trị của myVal trên bảng điều khiển trong hàm in

ví dụ

  1. Sử dụng biến toàn cầu để theo dõi chủ đề hiển thị-

let themeVal = "dark";

  function darkTheme() {
    //code logics to make theme dark
    console.log("current value of theme is :" + themeVal);
  }

  function lightTheme() {
    //code logics to make theme light
    console.log("current value of theme is :" + themeVal);
  }

if(themeVal === "dark") {
  darkTheme();
}

if(themeVal === "light") {
  lightTheme();
}

darkTheme();
lightTheme();

Đầu ra-

________số 8_______

Ở trên, chúng ta có một biến toàn cục themeVal có giá trị màu hiển thị là "tối". Sau đó, hai nếu các khối có điều kiện đang gọi các hàm darkTheme và lightTheme dựa trên điều kiện. Kết quả là, sẽ được gọi là darkTheme và in "giá trị hiện tại của chủ đề là tối" trên bảng điều khiển dưới dạng đầu ra

  1. Khai báo một giá trị toàn cầu tự động-

function add() {
  myVal = 100;
}

function display() {
  console.log("My value is " + myVal);
}

add();
display();

Đầu ra-

Ở trên, chúng ta có một hàm add trong đó myVal được gán giá trị 100 mà không cần khai báo myVal trước. Kết quả là, khi chức năng thêm được gọi là myVal trở thành biến toàn cục và in "Giá trị của tôi là 100" trên bảng điều khiển dưới dạng đầu ra khi chức năng hiển thị được gọi

Làm cách nào để khai báo Biến toàn cầu trong JavaScript?

Để khai báo một biến toàn cục trong javascript, chúng ta phải khai báo một biến var, const hoặc let bên ngoài bất kỳ khối hoặc hàm nào, bên trong phạm vi toàn cầu

Ví dụ-

//Global scope
let myVal = 10;

function myFun() {
  if(myVal > 5) {
      myVal = myVal + 5;
  }
}
myFun();
console.log(myVal) //output => 15

Đầu ra-

Ở trên, chúng ta khai báo biến toàn cục myVal và gán giá trị là 10. myVal cũng có thể truy cập được bên trong hàm myFun để xác minh rằng myVal là một biến toàn cục

Đâu là sự khác biệt giữa Global var và window. biến trong JavaScript?

Để khai báo một biến toàn cục sử dụng var toàn cầu, chúng ta phải khai báo một biến var trong phạm vi toàn cầu. Tuy nhiên, để khai báo một biến toàn cục bằng window. biến, chúng ta phải viết rõ ràng cửa sổ. theo sau là tên biến và giá trị như cửa sổ này. tên biến = giá trị

Ví dụ về biến toàn cục được khai báo sử dụng biến toàn cục -

//outside of any block or function
var myVal = 10;

Ở trên, chúng ta đã khai báo một biến toàn cục bằng cách sử dụng biến toàn cục và gán giá trị là 10

Ví dụ khai báo biến toàn cục bằng window. Biến đổi -

function myFun() {
    window.myVal = 20;
}

console.log(myVal) // output => 20

Đầu ra-

Ở trên, chúng ta có một hàm myFun trong đó chúng ta đã khai báo một cửa sổ. biến và được gán giá trị là 20. Ở đây, cả hai ví dụ sẽ được chỉ định ở cùng một nơi là đối tượng cửa sổ

Biến trong javascript là khối xây dựng của bất kỳ chương trình nào, nó giúp cung cấp tham chiếu được đặt tên cho bất kỳ loại dữ liệu nào được sử dụng trong chương trình, tìm hiểu thêm về Biến JavaScript

Bạn có thể cập nhật biến toàn cục bên trong một hàm không?

Các hàm có thể truy cập các biến toàn cục và sửa đổi chúng . Sửa đổi các biến toàn cục trong một hàm được coi là thực hành lập trình kém. Tốt hơn là gửi một biến dưới dạng tham số (hoặc để nó được trả về trong câu lệnh 'return').

Bạn có thể thay đổi biến toàn cục trong hàm JS không?

Với window['variableName'] hoặc window. tên biến bạn có thể sửa đổi giá trị của biến toàn cục bên trong một hàm .

Làm cách nào để khai báo biến toàn cục trong JavaScript trong một hàm?

Biến toàn cục là biến có thể được truy cập từ bất kỳ đâu trong chương trình. Đây là những biến được khai báo trong phần thân chính của mã nguồn và bên ngoài tất cả các hàm. Các biến này có sẵn cho mọi chức năng để truy cập. Từ khóa Var được dùng để khai báo biến toàn cục .

Làm cách nào để cập nhật giá trị biến trong JavaScript?

Cập nhật biến . Bằng cách này, chúng ta không phải lặp lại tên biến khi gán chúng cho thứ gì đó. Sau đó, chúng tôi tăng giá trị của i lên 2. Nếu chúng ta tăng hoặc giảm chỉ 1, thì chúng ta có thể sử dụng ++ hoặc -- tương ứng. by using the += , *= , -= or /= operators. This way, we don't have to repeat the variable name when we assign them to something. Then we increase the value of i by 2. If we increment or decrement only by 1, then we can use ++ or -- respectively.