let定义的变量
ES6中的let
使得变量一定程度上具有块级作用域
特性。但并非完全支持块级作用域
。
当一个函数的变量传入函数内部时,内部的回调函数还不能直接访问到该变量,需要在内部在建立一个临时变量进行传递。
updateLocalCart(cartId, amount) {
let id = cartId
let num = amount
this.carts.forEach((cart) => {
if (cart.id == id) {
cart.amount = num
}
})
this.updateCartNum()
}
const定义的变量
ES6中const
用来定义常量,定以后不能修改。
var定义的变量
// a 只在hello()函数内部可见
function hello() {
var a = 0;
}
var
为老版本js变量定义方法。
ES6中依旧兼容var
。它的作用域是函数级别。
未加修饰符的变量
// name 在全局可见
name = "lily";
function abc() {
console.log(name)
}
console.log(name)
这种的全局变量,在任何时候都不建议使用。