🌈"It always seems impossible until it’s done." — Nelson Mandela
种一棵树最好是机会是十年前,其次是现在。
在 JavaScript 中,可以使用三种关键字来声明变量:var、let 和 const。
作用域是函数作用域或全局作用域。
可以被重新声明和更新。
在声明之前可以被访问(提升)。
var name = 'John';
console.log(name); // 输出: John
作用域是块级作用域。
不能被重新声明,但可以更新。
在声明之前不能被访问(无提升)。
let age = 30;
age = 31; // 更新值
console.log(age); // 输出: 31
作用域是块级作用域。
不能被重新声明或更新(常量)。
必须在声明时初始化。
const pi = 3.14;
// pi = 3.14159; // 会报错
console.log(pi); // 输出: 3.14
是指在函数内部声明的变量只能在该函数内部访问。函数外部无法访问这些变量。
使用 var 声明的变量是函数作用域的。
function myFunction() {
var x = 10; // x 是函数作用域
console.log(x); // 输出: 10
}
myFunction();
console.log(x); // 报错: Uncaught ReferenceError: x is not defined
特点:
块作用域是指在 {} 代码块(例如 if 语句、for 循环等)内部声明的变量只能在该代码块内部访问。
使用 let 和 const 声明的变量是块作用域的。
if (true) {
let y = 20; // y 是块作用域
console.log(y); // 输出: 20
}
console.log(y); // 报错: Uncaught ReferenceError: y is not defined
特点:
当访问一个变量时,JavaScript 会从当前作用域开始查找,直到找到该变量或到达全局作用域为止。这种查找机制称为作用域链。
JavaScript 中的变量可以存储多种类型的数据,包括:
1️⃣ 字符串(String):文本数据。
let greeting = "Hello, World!";
2️⃣ 数字(Number):整数或浮点数。
let score = 95;
3️⃣ 布尔值(Boolean):真或假。
let isActive = true;
4️⃣ 未定义(Undefined):未赋值的变量。
let value;
console.log(value); // 输出: undefined
5️⃣空值(Null):表示“无”或“空”。
let obj = null;
1️⃣ 对象(Object):键值对集合,可以嵌套。
let person = {
name: 'Alice',
age: 25
};
2️⃣数组(Array):有序的数据集合,可以嵌套。
let fruits = ['apple', 'banana', 'orange'];
//基本类型
var greeting = 'hello';//string类型
const MyAge = 29;//number类型
const Price = 100.2//number类型
let isOldEnoughToParty = true;//boolean类型
console.log(Price); //=> 100.2
console.log(greeting); // => 'hello'
console.log(MyAge); // => 29
console.log(isOldEnoughToParty); // true
//var声明的变量的作用域是函数内部
var x = 'oh dang';
function MyFunction() {
var x = 10;
var x = 1;
var x = false;
console.log(x);
}
MyFunction();
console.log(x);
//输出
// false
// oh dang
//let块级作用域,只在{}块内生效
let array = [101,'name','age'];
for(let i = 0; i < array.length; i++) {
// Loop!
}
console.log(i); // => undefined
//var 函数级作用域,不推荐这样写
for(var i = 0; i < array.length; i++) {
// Loop!
}
console.log(i); // => undefined
//不能重复定义
let first = 10;
first += 5;
const first = 20; // => Exception: Identifier 'first' has already been declared
//let对比const
//let可以重新分配,但const不能。
let first1 = 10;
first1 = 20; // => OK
const second = 1000;
second = 2000; // => Exception: Cannot reassign 'const' value
//const声明的数组是可变的
//尽管 myArray 是用 const 声明的,但它的内容(元素)是可以改变的。const 仅保证变量的引用不变,而不是数组的内容。
const myArray = ['raining', 'cats', 'and', 'dogs'];
myArray.pop();//pop() 是数组的一个内置方法,它用于移除数组的最后一个元素,并返回该元素
console.log(myArray); // => [ 'raining', 'cats', 'and' ]
//const 声明的 myArray 数组可以修改其内容,但不能重新赋值。
💪Dream it. Wish it. Do it.
有梦不难,跟着我去闯。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务