Hướng dẫn how to use a variable outside of an if statement javascript - cách sử dụng một biến bên ngoài javascript câu lệnh if

Các biến được khai báo và gán trong câu lệnh "if" chỉ có thể nhìn thấy trong đó "if" chặn hoặc trong toàn bộ hàm?

Tôi có đang làm điều này ngay trong mã sau không? (dường như hoạt động, nhưng tuyên bố "cấu trúc var" nhiều lần dường như khó xử) Bất kỳ giải pháp sạch hơn?

    function actionPane(state) {
    if(state === "ed") {
        var structure = {
            "element" : "div",
            "attr" : {
                "class" : "actionPane"
            },
            "contains" : [{
                "element" : "a",
                "attr" : {
                    "title" : "edit",
                    "href" : "#",
                    "class" : "edit"
                },
                "contains" : ""
            }, {
                "element" : "a",
                "attr" : {
                    "title" : "delete",
                    "href" : "#",
                    "class" : "delete"
                },
                "contains" : ""
            }]
        }
    } else {
        var structure = {
            "element" : "div",
            "attr" : {
                "class" : "actionPane"
            },
            "contains" : [{
                "element" : "a",
                "attr" : {
                    "title" : "save",
                    "href" : "#",
                    "class" : "save"
                },
                "contains" : ""
            }, {
                "element" : "a",
                "attr" : {
                    "title" : "cancel",
                    "href" : "#",
                    "class" : "cancel"
                },
                "contains" : ""
            }]
        }
    }
    return structure;
}

Bạn đã bao giờ cố gắng viết một câu lệnh IF để kiểm tra giá trị nguyên thủy/không đổi so với biến JavaScript, nhưng vô tình xác định lại biến?IF statement to check a primitive/constant value against a JavaScript variable, but accidentally re-defined the variable?

Mục lục

  • Bạn có thể xác định các biến bên trong một câu lệnh IF không?
  • Bạn có nên xác định một biến bên trong câu lệnh IF?
  • Hướng dẫn về điều kiện Yoda
  • Phạm vi toàn cầu
  • Phạm vi địa phương
  • Làm thế nào để bạn truy cập các biến bên ngoài câu lệnh IF?
  • Chúng ta có thể truy cập vào chức năng biến bên ngoài trong JavaScript không?
  • Các biến có tồn tại bên ngoài các câu lệnh IF?
  • Làm thế nào để bạn truy cập một biến bên ngoài một khối trong JavaScript?


let state = "woosah";

if (state = "not-woosah") {
  console.log("not relaxed!");
} else {
  console.log("relaxed :)");
}

Tai nạn xảy ra, điều tôi thực sự muốn viết là:


state === "not-woosah"

Tuyên bố này có 3 ký hiệu bằng (


let state = "woosah";

if (state = "not-woosah") {
  console.log("not relaxed!");
} else {
  console.log("relaxed :)");
}
5) có nghĩa là một cái gì đó hoàn toàn khác nhau.

Khi tôi bắt gặp vấn đề này lần đầu tiên, tôi đã tự hỏi mình ..

Bạn có thể xác định các biến bên trong một câu lệnh IF không?

Bạn có nên xác định một biến bên trong câu lệnh IF?


let state = "woosah";

if (state = "not-woosah") {
  console.log("not relaxed!"); // This outputs!
} else {
  console.log("relaxed :)");
}

Hướng dẫn về điều kiện YodaIF statement.

Phạm vi toàn cầuIF statement parenthesis.


if (state = "woosah") {
  console.log(state); // Prints out "woosah"
}

Phạm vi địa phương

Bạn có nên xác định một biến bên trong câu lệnh IF?

Hướng dẫn về điều kiện Yoda

Phạm vi toàn cầu

Phạm vi địa phương

Làm thế nào để bạn truy cập các biến bên ngoài câu lệnh IF?

Chúng ta có thể truy cập vào chức năng biến bên ngoài trong JavaScript không?

Hướng dẫn về điều kiện Yoda

Phạm vi toàn cầu

Phạm vi địa phương


let state = "woosah";

if (state === "not-woosah") {
  console.log("not relaxed!");
} else {
  console.log("relaxed :)"); // This prints; relaxed
}

Làm thế nào để bạn truy cập các biến bên ngoài câu lệnh IF?

Chúng ta có thể truy cập vào chức năng biến bên ngoài trong JavaScript không?

Các biến có tồn tại bên ngoài các câu lệnh IF?

Làm thế nào để bạn truy cập một biến bên ngoài một khối trong JavaScript?


"not-woosah" === state

Tai nạn xảy ra, điều tôi thực sự muốn viết là:

Tuyên bố này có 3 ký hiệu bằng (


let state = "woosah";

if (state = "not-woosah") {
  console.log("not relaxed!");
} else {
  console.log("relaxed :)");
}
5) có nghĩa là một cái gì đó hoàn toàn khác nhau.


"woosah" = state

Khi tôi bắt gặp vấn đề này lần đầu tiên, tôi đã tự hỏi mình ..


"woosah" === state

Câu trả lời là có bạn có thể. Hãy cùng xem xét ví dụ mã ở trên:


Uncaught SyntaxError: Invalid left-hand side in assignment

Những gì tôi đã làm ở đó, là định nghĩa lại một biến JavaScript bên trong câu lệnh IF.

Nhưng bạn có thể tạo một biến mới ngay bên trong dấu ngoặc đơn IF.

Vì vậy, câu hỏi tiếp theo của tôi, mà tôi chắc chắn rằng bạn cũng vậy, có ai làm điều này không?

Thành thật mà nói, không có câu trả lời đúng hay sai cho câu hỏi này. JavaScript cho phép nó, vì vậy bạn có thể đưa ra quyết định của mình từ đó.

  1. Tôi đã bắt gặp một trường hợp sử dụng, nơi điều này có ý nghĩa đối với tôi.
  2. Và cá nhân, tôi nghĩ rằng điều này dễ bị lỗi. Nó cũng có thể gây khó khăn khi bị bắt khi gỡ lỗi và các đồng nghiệp của bạn có thể đang tốc độ đọc mã của bạn và không bắt được định nghĩa biến đó.

Họ có thể nhầm nó với một kiểm tra bằng nhau.

Để tránh điều này, có một phong cách viết mà tôi sử dụng gọi là điều kiện Yoda.


let state = "woosah";

if (state = "not-woosah") {
  console.log("not relaxed!");
} else {
  console.log("relaxed :)");
}
0

Điều kiện Yoda là một phong cách lập trình khi viết biểu thức. Nó còn được gọi là ký hiệu Yoda.

Hãy cùng nhìn vào ví dụ mã ở trên. Tôi cũng đã sửa chữa tuyên bố.var keyword also become global variables.


let state = "woosah";

if (state = "not-woosah") {
  console.log("not relaxed!");
} else {
  console.log("relaxed :)");
}
1

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.


let state = "woosah";

if (state = "not-woosah") {
  console.log("not relaxed!");
} else {
  console.log("relaxed :)");
}
2

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.


let state = "woosah";

if (state = "not-woosah") {
  console.log("not relaxed!");
} else {
  console.log("relaxed :)");
}
3

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.


let state = "woosah";

if (state = "not-woosah") {
  console.log("not relaxed!");
} else {
  console.log("relaxed :)");
}
4
  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 truy cập các biến bên ngoài câu lệnh IF?

Nếu bạn xác định biến bên trong câu lệnh IF, thì nó sẽ chỉ hiển thị bên trong phạm vi của câu lệnh IF, bao gồm chính câu lệnh cộng với các câu lệnh con. Bạn nên xác định biến bên ngoài phạm vi và sau đó cập nhật giá trị của nó bên trong câu lệnh IF.define the variable outside the scope and then update its value inside the if statement.

Chúng ta có thể truy cập vào chức năng biến bên ngoài trong JavaScript không?

Các biến được khai báo trên toàn cầu (bên ngoài bất kỳ chức năng nào) có phạm vi toàn cầu. Các biến toàn cầu có thể được truy cập từ bất cứ đâu trong chương trình JavaScript. Các biến được khai báo với VAR, LET và Const khá giống nhau khi được khai báo bên ngoài một khối.Global variables can be accessed from anywhere in a JavaScript program. Variables declared with var , let and const are quite similar when declared outside a block.

Các biến có tồn tại bên ngoài các câu lệnh IF?

Câu trả lời. Không, các biến được khai báo bên trong một câu lệnh IF sẽ không thể truy cập trực tiếp bên ngoài câu lệnh IF vì nếu các câu lệnh có phạm vi riêng của chúng.No, variables declared inside an if statement would not be accessible directly outside an if statement because if statements have their own scope.

Làm thế nào để bạn truy cập một biến bên ngoài một khối trong JavaScript?

Để truy cập một biến bên ngoài một chức năng trong JavaScript, có thể truy cập biến của bạn từ bên ngoài chức năng. Đầu tiên, khai báo nó bên ngoài chức năng, sau đó sử dụng nó bên trong hàm. Bạn không thể truy cập các biến được khai báo bên trong một hàm từ bên ngoài một hàm.declare it outside the function, then use it inside the function. You can't access variables declared inside a function from outside a function.

Làm thế nào để bạn truy cập các biến bên ngoài câu lệnh IF?

Nếu bạn xác định biến bên trong câu lệnh IF, thì nó sẽ chỉ hiển thị bên trong phạm vi của câu lệnh IF, bao gồm chính câu lệnh cộng với các câu lệnh con. Bạn nên xác định biến bên ngoài phạm vi và sau đó cập nhật giá trị của nó bên trong câu lệnh IF. Lưu câu trả lời này.define the variable outside the scope and then update its value inside the if statement. Save this answer.

Làm thế nào để bạn sử dụng một biến bên ngoài một chức năng trong JavaScript?

Để truy cập một biến bên ngoài một chức năng trong JavaScript, có thể truy cập biến của bạn từ bên ngoài chức năng.Đầu tiên, khai báo nó bên ngoài chức năng, sau đó sử dụng nó bên trong hàm.Bạn không thể truy cập các biến được khai báo bên trong một hàm từ bên ngoài một hàm.declare it outside the function, then use it inside the function. You can't access variables declared inside a function from outside a function.

Làm thế nào để bạn sử dụng các biến trong câu lệnh khác?

Nếu bạn chưa quen với cú pháp được sử dụng trong mẫu mã, nếu (int i = 5) {là một cách hoàn toàn hợp lệ để khai báo và xác định một biến, thì hãy sử dụng nó bên trong câu lệnh IF đã cho.Nó cho phép chúng tôi viết mã terser, rõ ràng hơn, đồng thời tránh giới hạn phạm vi của một biến.if (int i = 5) { is a perfectly valid way of declaring and defining a variable, then using it inside the given if statement. It allows us to write terser, clearer code, while also avoiding limiting the scope of a variable.

Tôi có thể khai báo biến bên ngoài hàm javascript không?

Các biến được khai báo trên toàn cầu (bên ngoài bất kỳ chức năng nào) có phạm vi toàn cầu.Các biến toàn cầu có thể được truy cập từ bất cứ đâu trong chương trình JavaScript.Các biến được khai báo với VAR, LET và Const khá giống nhau khi được khai báo bên ngoài một khối.. Global variables can be accessed from anywhere in a JavaScript program. Variables declared with var , let and const are quite similar when declared outside a block.