Biến javascript là

Xin chào các bạn 😀, dưới đây là các bài viết giúp các bạn học JavaScript mà mình đã dành thời gian tìm hiểu, thực thi và kết lại được. Hy vọng các bài viết hướng dẫn dưới đây sẽ giúp ích cho các bạn khi học JavaScript 😁

Luồng điều khiển trong JavaScript

Xử lý lỗi JavaScript

Updating thêm


  • ES6 có thể khai báo giá trị cho một biến bằng cách sử dụng.
    var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    8,
    var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    9,
    var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    0. Tùy vào điều kiện cụ thể mà sử dụng cách khai báo để phù hợp
    • var x = 10;
      function myFnc(){
        var y = x + 5 /* y được khai báo trong Function */
        console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
      }
      console.log(y); /* output: Error */
      myFnc();
      8 đã có từ các phiên bản Javascript trước đây, tuyên bố có 2 dạng toàn cục - global (ảnh hưởng mọi nơi) và địa phương - local (chỉ ảnh hưởng bên trong chức năng)
    • var x = 10;
      function myFnc(){
        var y = x + 5 /* y được khai báo trong Function */
        console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
      }
      console.log(y); /* output: Error */
      myFnc();
      9 có từ phiên bản ES6, sử dụng như
      var x = 10;
      function myFnc(){
        var y = x + 5 /* y được khai báo trong Function */
        console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
      }
      console.log(y); /* output: Error */
      myFnc();
      8, tuy nhiên có tác dụng phạm vi bên trong một khối (như bên trong câu điều kiện if, loop for,. )
    • var x = 10;
      function myFnc(){
        var y = x + 5 /* y được khai báo trong Function */
        console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
      }
      console.log(y); /* output: Error */
      myFnc();
      0 sử dụng như
      var x = 10;
      function myFnc(){
        var y = x + 5 /* y được khai báo trong Function */
        console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
      }
      console.log(y); /* output: Error */
      myFnc();
      9, tuy nhiên
      var x = 10;
      function myFnc(){
        var y = x + 5 /* y được khai báo trong Function */
        console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
      }
      console.log(y); /* output: Error */
      myFnc();
      0 có giá trị không thay đổi trong suốt ứng dụng
  • To learn more than about
    var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    8,
    var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    9,
    var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    0 ta xem các trường hợp bên dưới nhé

ES6 khai báo giá trị với var

Khai báo toàn cục

Biến được khai báo sẽ ảnh hưởng trong toàn bộ ứng dụng

var x = 10;
function myFnc(){
  console.log(x); /* output: 10, x có ảnh hưởng tới Function */
}
console.log(x); /* output: 10, x có ảnh hưởng khắp nơi */
myFnc();

  • View results. nhấn F12, chọn Bảng điều khiển
  • Ta thấy
    var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    8 ảnh hưởng cả bên trong và bên ngoài chức năng

Khai báo địa phương

Biến được khai báo chỉ ảnh hưởng trong chức năng được khai báo

var x = 10;
function myFnc(){
  var y = x + 5 /* y được khai báo trong Function */
  console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
}
console.log(y); /* output: Error */
myFnc();

  • Ta thấy
    var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    9 được khai báo bên trong chức năng nên chỉ ảnh hưởng bên trong chức năng, nếu sử dụng bên ngoài sẽ báo lỗi

ES6 tuyên bố giá trị với let

Để hiểu rõ, trước tiên ta xem xét

var x = 10;
function myFnc(){
  var y = x + 5 /* y được khai báo trong Function */
  console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
}
console.log(y); /* output: Error */
myFnc();
8 bên trong câu điều kiện
var x = 10;
if (x === 10) {
  var x = 20; /* x được gán giá trị mới là 20 */
  console.log(x); /* output: 20 */
}
console.log(x);  /* output: 20 */
1

var with block (khối)

var x = 10;
if (x === 10) {
  var x = 20; /* x được gán giá trị mới là 20 */
  console.log(x); /* output: 20 */
}
console.log(x);  /* output: 20 */

  • var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    8 bên trong câu điều kiện
    var x = 10;
    if (x === 10) {
      var x = 20; /* x được gán giá trị mới là 20 */
      console.log(x); /* output: 20 */
    }
    console.log(x);  /* output: 20 */
    1 sẽ cho kết quả 20
  • var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    8 bên ngoài
    var x = 10;
    if (x === 10) {
      var x = 20; /* x được gán giá trị mới là 20 */
      console.log(x); /* output: 20 */
    }
    console.log(x);  /* output: 20 */
    1 sẽ ảnh hưởng đến kết quả từ bên trong
    var x = 10;
    if (x === 10) {
      var x = 20; /* x được gán giá trị mới là 20 */
      console.log(x); /* output: 20 */
    }
    console.log(x);  /* output: 20 */
    1 nên cũng cho kết quả 20

let with block (khối)

var x = 10;
function myFnc(){
  var y = x + 5 /* y được khai báo trong Function */
  console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
}
console.log(y); /* output: Error */
myFnc();
1

  • var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    8 bên trong câu điều kiện
    var x = 10;
    if (x === 10) {
      var x = 20; /* x được gán giá trị mới là 20 */
      console.log(x); /* output: 20 */
    }
    console.log(x);  /* output: 20 */
    1 sẽ cho kết quả riêng là 20
  • Bên ngoài
    var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    8
    var x = 10;
    if (x === 10) {
      var x = 20; /* x được gán giá trị mới là 20 */
      console.log(x); /* output: 20 */
    }
    console.log(x);  /* output: 20 */
    1 sẽ cho kết quả riêng (được gán ban đầu) là 10

ES6 khai báo giá trị với const

Sử dụng menu đơn giản như sau

var x = 10;
function myFnc(){
  var y = x + 5 /* y được khai báo trong Function */
  console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
}
console.log(y); /* output: Error */
myFnc();
6

Tuy nhiên, nếu đặt lại const tương tự sẽ báo lỗi

var x = 10;
function myFnc(){
  var y = x + 5 /* y được khai báo trong Function */
  console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
}
console.log(y); /* output: Error */
myFnc();
7

  • var x = 10;
    function myFnc(){
      var y = x + 5 /* y được khai báo trong Function */
      console.log(y); /* output: 15, y chỉ có ảnh hưởng bên trong Function */
    }
    console.log(y); /* output: Error */
    myFnc();
    0 chỉ mang duy nhất một giá trị, nếu giá trị thay đổi sẽ báo lỗi