Phạm vi hoạt động của biến

console.log('Ví dụ làm việc với phạm vi hoạt động của biến');
var a = 5;
var b = 6;
c = 1111;
function HamSo (){
    let x = 22;
    var y = 33;
    zz = 9999;
    console.log(`Trong hàm: x = ${x}, y = ${y}, z = ${zz}`);
    console.log(`Trong hàm: a = ${a}, b = ${b}, c = ${c}`);
}
/// gọi hàm để sử dụng:
HamSo(); // chạy bằng lệnh: node vidu1.js 
console.log(`Ngoài hàm: x = riêng tư, y = riêng tư, z = ${zz}`);  // biến x và y phạm vi riêng tư trong hàm nên không sử dụng được ở đây
console.log(`Ngoài hàm: a = ${a}, b = ${b}, c = ${c}`);

Xem kiểu dữ liệu của biến

console.log('Xem kiểu dữ liệu của biến');
var a = 5;
var b = 'Nguyễn Văn A';
console.log(`Số a = ${a}, Kiểu DL: ${typeof(a)}`);
console.log(`Biến b = ${b}, Kiểu DL: ${typeof(b)}`);
// gán a cho một chuỗi
a = 'Trần Van B';
console.log(`Biến sau khi đổi giá trị: a = ${a}, kiểu DL: ${typeof(a)} `);
// chạy file để xem kết quả

So sánh các cấu trúc lặp

console.log('So sánh các vòng lặp');
// for, do...while, while...
// đối với for..in (dùng cho đối tượng) và forEach (dùng cho mảng)
//ví dụ in dãy số từ 0 đến 5
console.log('Vòng lặp FOR');
var x = 10;
for(x ; x<5; x++){
    console.log(`x = ${x}`);
}
console.log('Vòng lặp do..while');
x = 10;// khởi tạo lại x
do{
    console.log(`x = ${x}`);
    x++;
}while(x <5);
console.log('Vòng lặp  while...');
x = 10;// khởi tạo lại x
while(x <5){
    console.log(`x = ${x}`);
    x++;
};