目录
2.1变量以及命名规则
变量是程序在内存中申请的一块用来存放数据的空间。变量由变量名和变量值组成,通过变量名可以访问变量的值。
命名规则
(1)不能以数字开头,且不能含有+、-等运算符,如 56name、56-name 就是非法变量名。
(2)严格区分大小写,如 it 与 IT 是两个不同的变量名。
(3)不能使用 JavaScript 中的关键字命名。关键字是 JavaScript 语言中被事先定义好并赋予特殊含义的单词,如 var 就是一个关键字。
(4)使用字母、数字、下画线和美元符号($)来命名,如 str、arr3、get_name、$a。
(5)尽量要做到“见其名知其义”,如 price 表示价格,age 表示年龄等。
(5)采用驼峰命名法,第 1 个单词首字母小写,后面的单词首字母大写,如 myBooks。关键字
2.2变量的声明与赋值
JavaScript 中变量通常使用 var 关键字声明。变量声明完成后,默认值会被设定为 undefined,表示未定义。
2.3声明变量(var let const)
2.3.1 Var
var a=10 // Var 声明变量为全局变量
function test(){
var a=20 //局部变量
console.log(a) //输出:20 (局部变量不受全局变量影响)
}
test()
console.log(a) //输出:10
JavaScript 块级作用域(Block Scope)
var 关键字声明的变量不具备块级作用域的特性,它在 {} 外依然能被访问到
{
var x=2
}
console.log(x) //输出:2
在块中重新声明变量也会重新声明块外的变量
var x=1
{
var x=10
console.log(x) //输出:10
}
console.log(x) //输出:10
重新定义变量
使用 var 关键字声明的变量在任何地方都可以修改:
var x = 2;
// x 为 2
var x = 3
// 现在 x 为 3
2.3.2 let
JavaScript 块级作用域(Block Scope)
let 声明的变量只在 let 命令所在的代码块 {} 内有效,在 {} 之外不能访问。
var x=1
{
let x=10
console.log(x) //输出:10
}
console.log(x) //输出:1
重新定义变量
let 关键字在不同作用域,或不同块级作用域中是可以重新声明赋值的
let x=2
console.log(x) //输出:2
{
let x=1
console.log(x) //输出:1
}
{
let x=3
console.log(x) //输出:3
}
在相同的作用域或块级作用域中,不能使用 let 关键字来重置 let 关键字声明的变量:
let x = 2; // 合法
let x = 3; // 不合法
{
let x = 4; // 合法
let x = 5; // 不合法
}
在相同的作用域或块级作用域中,不能使用 var 关键字来重置 let 关键字声明的变量:
let x = 2; // 合法
var x = 3; // 不合法
{
let x = 4; // 合法
var x = 5; // 不合法
}
2.3.3 const
初始化要求:与let不同,使用const声明变量时,必须立即为其赋予初始值。不提供初始值会导致语法错误。
const pi=3.14
const pi //错误
console.log(pi) //输出:3.14
不可变性:一旦用const声明并初始化了一个变量,尝试重新赋值会抛出错误。
const age=19
age=36 //错误
const同样遵循块级作用域的规则,并且禁止在同一作用域内重复声明同名变量。
const name = 'Minos';
const name = 'Nic'; // 错误:SyntaxError,重复声明
const的声明范围也限制在声明它的块内。
const name='yuyu'
{
const name='xinxin'
console.log(name) //输出:xinxin
}
console.log(name) //输出:yuyu
2.3.4总结
(1)使用 var 关键字声明的全局作用域变量属于 window 对象。
(2)使用 let 关键字声明的全局作用域变量不属于 window 对象。
(3)使用 var 关键字声明的变量在任何地方都可以修改。
(4)在相同的作用域或块级作用域中,不能使用 let 关键字来重置 var 关键字声明的变量。
(5)在相同的作用域或块级作用域中,不能使用 let 关键字来重置 let 关键字声明的变量。
(6)let 关键字在不同作用域,或不用块级作用域中是可以重新声明赋值的。
(7)在相同的作用域或块级作用域中,不能使用 const 关键字来重置 var 和 let关键字声明的变 量。
(8)在相同的作用域或块级作用域中,不能使用 const 关键字来重置 const 关键字声明的变量
(9)const 关键字在不同作用域,或不同块级作用域中是可以重新声明赋值的:
(10)var 关键字定义的变量可以先使用后声明。
(11)let 关键字定义的变量需要先声明再使用。
(12)const 关键字定义的常量,声明时必须进行初始化,且初始化后不可再修改
标签:基本,const,变量,作用域,JavaScript,语法,关键字,let,var From: https://blog.csdn.net/2401_86036532/article/details/143186254