Hướng dẫn how do you call a variable outside a function in javascript? - làm thế nào để bạn gọi một biến bên ngoài một hàm trong javascript?

34

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Đây là phiên bản đơn giản hóa của những gì tôi đang cố gắng thực hiện, nhưng tôi muốn vượt qua một biến bên ngoài phạm vi của hàm. Tôi đang khai báo biến bên ngoài chức năng nhưng không thể có được nó.

HTML:

5

6

7

JS:

$[document].ready[function [] {
    var gsd = "";
    $["p"].each[function [] {
        if [$[this].text[] === "5"] {
            var gsd = $[this].text[];
            alert[gsd]; // this works
        }
    }]
    alert["get var outside func" + gsd]; //does not work
}];

Felix Kling

771K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu Đồng172 gold badges1069 silver badges1116 bronze badges

Đã hỏi ngày 5 tháng 6 năm 2013 lúc 14:02Jun 5, 2013 at 14:02

1

Bạn đã tái lập gsd như một biến mới bên trong chức năng của bạn. Hủy bỏ var ở phía trước gsd bên trong hàm để giải quyết gsd trong phạm vi bên ngoài.

Đã trả lời ngày 5 tháng 6 năm 2013 lúc 14:12Jun 5, 2013 at 14:12

IgorigorIgor

15.7K1 Huy hiệu vàng25 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge25 silver badges30 bronze badges

3

Phạm vi trong JavaScript xác định khả năng truy cập của các biến, đối tượng và chức năng.

Có hai loại phạm vi trong JavaScript.

  1. Phạm vi toàn cầu
  2. Phạm vi địa phương

Phạm vi toàn cầu

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



    var userName = "Bill";

    function modifyUserName[] {
            userName = "Steve";
        };

    function showUserName[] {
            alert[userName];
        };

    alert[userName]; // display Bill
    
    modifyUserName[];
    showUserName[];// display Steve


Trong ví dụ trên, tên người dùng biến trở thành biến toàn cầu vì nó được khai báo bên ngoài bất kỳ chức năng nào. Hàm modifyUserName [] sửa đổi tên người dùng là tên người dùng là biến toàn cầu và có thể được truy cập bên trong bất kỳ chức năng nào. Theo cách tương tự, hàm showUserName [] hiển thị giá trị hiện tại của biến tên người dùng. Thay đổi giá trị của biến toàn cầu trong bất kỳ chức năng nào sẽ phản ánh trong suốt chương trình.

Xin lưu ý rằng các biến được khai báo bên trong một hàm không có từ khóa VAR cũng trở thành biến toàn cầu.var keyword also become global variables.



    function createUserName[] {
        userName = "Bill";
    }

    function modifyUserName[] {
        if[userName]
            userName = "Steve";
    };

    function showUserName[] {
        alert[userName];  
    }
    
    createUserName[];
    showUserName[]; // Bill 

    modifyUserName[];
    showUserName[]; // Steve 

    

Trong ví dụ trên, tên người dùng biến được khai báo mà không có từ khóa var bên trong createUserName [], do đó, nó trở thành biến toàn cầu tự động sau khi gọi createdUserName [] lần đầu tiên.var keyword inside createUserName[], so it becomes global variable automatically after calling createUserName[] for the first time.

Một biến tên người dùng sẽ chỉ trở thành biến toàn cầu sau khi createUserName [] được gọi ít nhất một lần. Gọi showusername [] trước createUserName [] sẽ ném một ngoại lệ "Tên người dùng 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ỳ chức năng nào với 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 chức năng.var keyword are called local variables. Local variables cannot be accessed or modified outside the function declaration.


    
    function createUserName[] {
        var userName = "Bill";
    }

    function showUserName[] {
        alert[userName];
    }

    createUserName[];
    showUserName[]; // throws error: userName is not defined



Các tham số chức năng được coi là biến cục bộ.

Trong ví dụ trên, tên người dùng là hàm cục bộ để createUserName [] hàm. Nó không thể được truy cập trong hàm showuserName [] hoặc bất kỳ hàm nào khác. Nó sẽ gây ra một lỗi nếu bạn cố gắng truy cập một biến không nằm trong phạm vi địa phương hoặc toàn cầu. Sử dụng thử Catch Block để 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ầu có cùng tên thì việc thay đổi giá trị của một biến không ảnh hưởng đến giá trị của biến khác.

var userName = "Bill";

function ShowUserName[]
{
    var userName = "Steve";

    alert[userName]; // "Steve"
}

ShowUserName[];

alert[userName]; // Bill

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 nếu khối có thể được truy cập bên ngoài nếu khối, bên trong một hàm.

Function NoBlockLevelScope[]{
    
    if [1 > 0]
    {
        var myVar = 22;

    }

    alert[myVar];
}

NoBlockLevelScope[];

  1. JavaScript có phạm vi toàn cầu và phạm vi địa phương.
  2. Các biến được khai báo và khởi tạo bên ngoài bất kỳ chức năng nào trở thành biến toàn cầu.
  3. Các biến được khai báo và khởi tạo chức năng bên trong trở thành các biến cục bộ cho hàm đó.
  4. Các biến được khai báo mà không có từ khóa VAR bên trong bất kỳ chức năng nào tự động trở thành các biến toàn cầu.var keyword inside any function becomes global variables automatically.
  5. Các biến toàn cầu có thể được truy cập và sửa đổi ở bất cứ đâu trong chương trình.
  6. Các biến cục bộ không thể được truy cập bên ngoài khai báo chức năng.
  7. Biến toàn cầu và biến cục bộ có thể có cùng tên mà không ảnh hưởng đến nhau.
  8. JavaScript không cho phép phạm vi cấp khối bên trong khung {}.

Bạn muốn kiểm tra xem bạn biết JavaScript bao nhiêu?

Làm thế nào để bạn gọi một biến bên ngoài một hàm?

Sử dụng cú pháp thuộc tính đối tượng để truy cập một biến bên ngoài hàm.Trong một chức năng có tên Func, sử dụng Func cú pháp.Biến = giá trị để lưu trữ giá trị trong biến như một thuộc tính của func.Để truy cập giá trị bên ngoài func, sử dụng func [] để chạy func, sau đó sử dụng chức năng cú pháp_name. to access a variable outside of a function. In a function named func , use the syntax func. variable = value to store value in variable as an attribute of func . To access value outside of func , use func[] to run func , then use the syntax function_name.

Làm thế nào để bạn gọi một biến trong JavaScript?

Sau khi khai báo một biến hoặc chức năng với từ khóa VAR, bạn có thể gọi nó bất cứ lúc nào bằng cách gọi tên của nó.invoking its name.

Làm thế nào để bạn truy cập một biến trong một vòng lặp bên ngoài?

Nếu bạn muốn truy cập mọi yếu tố của Randad bên ngoài vòng lặp cho vòng lặp như var randad = [] này;Để khởi tạo nó như một mảng.Bạn có thể dễ dàng truy cập nó sau vòng lặp của bạn nhưng nếu bạn sử dụng nó như một biến số đơn giản Var Randad;Sau đó, bạn sẽ nhận được biến cuối cùng luôn luôn [nó ghi đè lên].var randAd = []; to initialize it as an array. You can easily access it after your for loop but If you use it as a simple variable var randAd; then you'll get the last variable always [it overwrites].

Bài Viết Liên Quan

Chủ Đề