javasecipt成员简介

  • 数据与操作是jsvascript代码中的2个主要成员
  • 程序:描述任务的操作流程,默认是”顺序执行”
  • 顺序执行: 计算机中专业的叫法”同步执行”
  • 同步执行: 代码执行顺序与书写顺序一致

数据

  • 字面量:直接可以看到值例如10,20
  • 变量:实现数据复用,且值可以随时变化,使用变量第一步:变量声明,第二步:执行, 赋值(第一次叫:初始化)例如下列代码
  1. let a;
  2. let b;
  3. a = 10;
  4. b = 20;

操作

  • 代码块一段由”大括号 {…}”包裹的代码,例如下列代码
  1. {
  2. a + b;
  3. }
  • 函数:实现操作复用,使用function声明,函数名(参数)调用
    例如下列代码定义了函数:
  1. function sum(a, b) {
  2. return a + b;
  3. // 下面这条语句永不执行,因为上面return
  4. // console.log(123);
  5. }

作用域

    1. 块作用域:变量只在当前块中可以访问例如下列代码
  1. {
  2. let a = 123;
  3. console.log(a);
  4. }
  5. console.log(a); //错误,在外部无法访问块中得变量

上述代码中,第一个console.log(a)在块中,执行结果为123
第二个’console.log(a)’在块之后,无法访问,执行结果为undefined

  • 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);

上述代码中,第一个console.log(res)在函数中,可以正常访问a+b
第二个’console.log(res)’在函数之外,无法访问,执行结果为undefined

  • 3.全局作用域:在块/函数内部声明的成员, 仅限内部使用, 外部不可见
  1. let qq = "498668472";
  2. // ! 全局成员(变量/函数)在代码的任何地方,都是可用的
  3. {
  4. console.log(qq);
  5. }
  6. {
  7. {
  8. {
  9. console.log(qq);
  10. }
  11. }
  12. }
  13. function f1() {
  14. console.log(qq);
  15. }
  16. f1();
  17. function f2() {
  18. return function () {
  19. return function () {
  20. console.log(qq);
  21. };
  22. };
  23. }
  24. // 因为函数嵌套了三层,所以调用了三次
  25. f2()()();

上述代码中所有位置的console.log(qq)都可以正常访问qq,输入结果都是498668472

更多相关文章

  1. Android小白成长之初级篇:NDK配置
  2. Android(安卓)引用外部字体
  3. Android中Dialog
  4. Android(安卓)NDK 开发教程一:安装NDK
  5. Android的源代码结构
  6. 介绍自己的一个Android插桩热修复框架项目QuickPatch
  7. Android(安卓)的源代码结构
  8. mysql中替代null的IFNULL()与COALESCE()函数详解
  9. MYSQL 一个巧用字符函数做数据筛选的题

随机推荐

  1. 安装MySQLdb for Python3.7
  2. 如何输出NLTK块到文件?
  3. python函数小练习
  4. python 读写json数据
  5. 在Python中解析Yaml:检测重复的密钥
  6. 批量重命名文件——python实现
  7. 用15行perl打造win32下的简易后门 python
  8. python使用多进程爬取图片
  9. Python 3.4 AssertEqual()在Django单元测
  10. pandas - 将嵌套字典值映射到dataframe