欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS 基础-入门实例(变量、常量、函数、作用域)

程序员文章站 2022-06-02 18:51:42
...

JS 基础-入门实例

1、TODO 代码中的成员: 数据、操作

  • 数据: 字面量=>直接可以看到值; 变量=>实现数据复用,将字面量缓存起来的容器;
  • “复用”, 必须要有 2 个步骤:声明、执行赋值=>第一次叫:初始化;第二次赋值叫更新 / 修改;
  • 变量禁止重复声明。

1.1 变量

STT 语法 说明
1 let name 声明,let关键字
2 name = Help 赋值
3 console.log(name); 按名调用
4 name = null 删除 ,赋值为 null

1.2 函数

  • 操作:操作写到代码块中;代码块: 一段由大括号 {...}包裹的代码;
  • 使用代码块的目是为了代码复用;
STT 语法 说明
1 fuction 声明,function关键字
2 sum() 函数名
3 (a, b) 参数
4 {...} 函数体
5 sum(1, 2) 按名调用

2、变量,函数与作用域

2.1 块作用域

  • 代码块,将变量的声明与赋值(初始化)二合一,私有成员
  1. {
  2. // 代码块
  3. // 将变量的声明与赋值(初始化)二合一
  4. // 私有成员
  5. let a = 123;
  6. // 等价于以下二条:
  7. // let a;
  8. // a = 123;
  9. // 块中变量在块中可以访问到
  10. console.log(a);
  11. }
  12. // 块中成员,在块的外部不可访问/不可见
  13. // console.log(a);

JS 基础-入门实例(变量、常量、函数、作用域)

2.2 函数作用域

  • 在函数中声明一个变量,私有变量
  1. function sum(a, b) {
  2. // 在函数中声明一个变量
  3. // 私有变量
  4. let res = a + b;
  5. // 函数内部声明的成员可以内部访问
  6. console.log(res);
  7. }
  8. sum(30, 50);
  9. // 但是在函数外部访问不到
  10. // console.log(res);

JS 基础-入门实例(变量、常量、函数、作用域)

2.3 全局作用域

  • 位于”代码块/函数”之外的空间, 叫”全局作用域”
  1. // qq: 全局变量, 公共变量
  2. let qq = "1183229555";
  3. // ! 全局成员(变量/函数)在代码的任何地方,都是可用的
  4. {
  5. console.log(qq);
  6. }
  7. {
  8. {
  9. {
  10. console.log(qq);
  11. }
  12. }
  13. }
  14. function f1() {
  15. console.log(qq);
  16. }
  17. f1();
  18. function f2() {
  19. return function () {
  20. return function () {
  21. console.log(qq);
  22. };
  23. };
  24. }
  25. // 因为函数嵌套了三层,所以调用了三次
  26. f2()()();

JS 基础-入门实例(变量、常量、函数、作用域)

2.4 作用域优先级

  • 作用域, 由外向内允许, 由内向外受限, 从而形成一条具有优先级的”作用域链”
  1. let username = "Help";
  2. {
  3. {
  4. {
  5. console.log(username);
  6. }
  7. }
  8. }
  9. function f3() {
  10. // 没有username
  11. let username = "zhao";
  12. console.log(username);
  13. }
  14. f3();

JS 基础-入门实例(变量、常量、函数、作用域)

3、常量,标识符命名规范

3.1 常量

  • 当一个数据,需要在多处被引用,为了防止引用时发生数据不一致,需要将它的值固定下来
  • 这样的数据,应该声明为”常量”
  • 所谓”常量”,就是经常被使用到的变量, 简称”常量”
  • 常量的值不可变,所以必须在声明时初始化
  • 禁止更新
  • 变量与常量在使用时,如何选择?
  • 尽可能首选”常量”, 除非这个值用到循环变量中,或者肯定会被更新,才用变量
  1. const APP_NAME = "在线商城";
  2. // 使用
  3. console.log(APP_NAME);
  4. // 常量的值不可变,所以必须在声明时初始化
  5. // 禁止更新
  6. // APP_NAME = "我的博客";

JS 基础-入门实例(变量、常量、函数、作用域)

3.2 标识符命名规范

  • 标识符: 代码中有意义的符号, 例如: 变量, 函数等
  • 标识符有二类:
  • 系统标识符: 关键字, 保留字, 是 JS 提供给开发者, 直接拿来用,不需要声明
  • 自定义标识符: 必须 “先声明, 再使用”, 例如 email, password, get…
  • 标识符可使用的字符:
  • 必须是: 字母,数字, 下划线"_", “$”(四种),其它字符均是非法符号
  • 首字母不得使用”数字”
  • 标识符命名规范:
  • 驼峰式: 第二个单词首字母大写, 第一个单词首字母是否大小取决于用途,例如构造函数/类的首字母要大写
  • 蛇形式: 每个单词之间使用”下划线”分割
  1. let let = 1;
  2. // 关键字,保留字
  3. let const function class ...
  4. // 自定义
  5. // 合法的
  6. myEmail, user_name, UserController/类/构造函数
  7. // 非法的
  8. my#email, 123aaa, $_user@ElementInternals.com
  9. // 驼峰式: 小驼峰,首字母小写, 大驼峰: 首字母大写
  10. myEmail, getUserInfo, UserInfo, StuModel
  11. // 蛇形式:
  12. user_name, get_email, 常量 APP_NAME