1. 组成
    1. ECMAScript 基础语法,比如定义变量、流程控制语句、定义方法
    2. DOM 指的是文档对象,简单点理解就是整个html
    3. BOM 指的是浏览器对象,通过js代码操作浏览器对象,比如弹框功能,操作浏览器地址栏页面跳转,后退前进,历史记录
  2. 引入方式
    1. 方式一,在页面使用script标签
      1. <script>//JS代码<script>
    2. 方式二,引入外部的js文件 快捷键 script:src
      1. <script src="js/bootstrap.js"></script>
  3. VScode
    1. 安装
      1. 傻瓜式安装
      2. 对勾全部都勾选
    2. 插件
      1. 汉化插件
      2. 预览页面
      3. 服务器
  4. ECMAScript
    1. 输出语句
    2. 定义变量和常量
    3. null和undefined
      1. null表示具体的值,比如let name = null;
      2. undefined表示没有给变量赋值 比如let name;
      3. 在js中如果报null或者undefined相关的异常,都可以理解成java中的空指针异常
    4. ==和===的区别
      1. ==会把等于号两边的数据变成数字再去比较值,最终比较的是值 var a = "1"; var b=1; console.log(a==b);//true
      2. ===先判断两个变量的数据类型,数据类型一致才比较值 var a = "1"; var b=1; console.log(a===b);//false
    5. 数组
      1. 定义数组
        1. let array = ["贺鹏","凡凡",45,true]; //数组中的数据的数据类型可以不一样
        2. let array = new Array(11,22,33);
      2. 获取和设置元素
        1. array[0] = 值;//索引只要>=即可,即使索引不存在也会报错
        2. console.log(array[0]);
      3. 特有方法
        1. 向数组末尾添加元素
          1. array.push(元素)
        2. 获取并移出末尾的元素
          1. let e = array.pop();
      4. 遍历
        1. //定义数组 let array = ["贺鹏","柱子","墙","李赛"]; //遍历 for(let i=0; i<array.length; i++){ console.log(array[i]); }
    6. 函数
      1. 定义方式
        1. 方式1,使用function关键字
          1. function 函数名(){}
        2. 方式2,使用let关键
          1. let 函数名 = function(){}
      2. 案例1:求n和m的和,并返回
      3. 案例2:求可变参数的和,并返回
      4. 注意事项
        1. 1.形参个数可以和实参不匹配
        2. 2.函数之间是可以嵌套的
        3. 3.js中不存在重载
        4. 4.没有返回值并且没有返回值类型
        5. 5.如果函数没有返回值,那么他的返回值类型是undefined
    7. 字符的模板语法
  5. DOM
    1. 相关术语
    2. 获取标签对象
      1. document.querySelector("CSS选择器") 只能获取一个标签对象
      2. document.querySlectorAll("CSS选择器") 可以获取多个标签对象
      3. 选择器
        1. 功能:定位标签
        2. 分类
          1. 标签选择器
          2. 类选择器
          3. ID选择器
          4. 子元素选择器 >
          5. 子孙元素选择器
          6. 属性选择器
          7. [name] 获取含有name属性的元素
          8. [name='jack'] 获取name=jack属性的元素
          9. input[type='text'] 获取type=text的input标签
  6. 事件
    1. load
      1. 页面资源加载完毕以后执行
    2. submit
      1. 表单提交,仅form标签可用
    3. click
      1. 单击
    4. dblclick
      1. 双击
    5. blur
      1. 失去焦点 仅input框可用
    6. focus
      1. 获取交单,仅input框可用
    7. change
      1. 下拉框改变触发,仅select标签可用
    8. mouseenter
      1. 鼠标移入
    9. mouseleave
      1. 鼠标移出去
    10. mousemove
      1. 鼠标移动
    11. 绑定方式
      1. 1.使用on事件名属性绑定,值是js代码 onclick="console.log(123)"
      2. 2.使用dom对象绑定
  7. this问题
  8. 单词
    1. script 脚本
    2. dom document 文档
    3. bom browser object model 浏览器模型对象
    4. alert 警告
    5. console 控制台
    6. log 日志
    7. const 常量
    8. undefined 未定义
    9. push 推
    10. pop 取出
    11. function 函数
    12. method 方法
    13. selector 选择器
    14. query 查询
    15. load 加载
    16. submit 提交
    17. click 单击
    18. dblclick 双击
    19. mouse 鼠标
    20. leave 移开
    21. enter 进入
    22. move 移动
    23. blur 失去焦点
    24. focus 聚焦
    25. change 改变
    26. element 元素、标签
    27. attribute 属性
    28. text 文本
    29. node 节点
    30. appendChild 添加子元素
    31. parentNode 父节点
    32. removeChild 删除子元素