js 作用域与常量
程序员文章站
2022-05-20 15:24:16
...
成员
- 浏览器的控制台就是浏览器的一个 JS 执行器
- console.log() 将计算结果输出到控制台
数据
-
字面量: 一样看到的就是字面量
-
变量: 用于临时存放的数据的容器叫变量
- 要用变量要有两部
- 声明过程 : 仅定义,不执行, 防病编译预处理
- 执行过程 : 复用过程 ,可以多次,多地方调用声明的语句
- 声明变量
let a;
let b;
- 执行过程(赋值)
- 第一次赋值叫初始化
a = 10;
b = 20;
c = 30;
-
第二次赋值叫 更新 / 修改
-
删除
a = null;
- 使用 (安名使用)
console.log(c, b);
操作
- 操作写在代码块中{}
{
a + b;
console.log(a + b);
}
- 使用代码块的目的 是为了“代码复用”
— 复用必分两步
- 声明函数
function sum(a, b) {
return a + b;
}
—- function : 声明变量
—- sum: 函数名称
—- (a, b): 函数参数列表
—- return :返回结果
- 调用函数
- 用名称调用
sum
function sum(a, b) {
return a + b;
}
console.log(sum(15, 20));
调用 sum 然后传参(15, 20)
作用域
块作用域
{
let a = 123;
console.log(a);
}
- 块中变量在块中可以访问(在块中申明的变量在块外部不可访问)
函数作用域
-
函数内部声明的成员可以再内部访问
-
私有成员:再块/函数内部声明的成员,仅限内部使用,外部不可以用
全局作用域(默认)
let qq = "454344267";
{
console.log(qq);
}
let qq = "454344267";
{
console.log(qq);
}
function f1() {
console.log(qq);
}
f1();
function f2() {
return function () {
return function () {
console.log(qq);
};
};
}
f2()()();
// 最后"f2()()();" 是因为上面嵌套3层,所以要调用3个"()"
- 位于”代码块/函数”之外的空间,叫做”全局作用域”
—在代码的任何地方都可用的
常量
- 当一个数据需要多处被引用,为防止引用时发生数据不一致,需要将它固定下来 这样的数据,应该声明为”常量”
const APP_NAME = "在线商城";
console.log(APP_NAME);
// const 为命名常量 ,命名后常量不可更新,必须在声明时初始化
- 常量和变量在使用时,如何选择?
— 尽可能首选”常量”,除非这个值用到循环变量中,或者肯定会被更新采用常量