js (javascript) 作用:实现功能 & 交互的 (弱类型 & 强类型) 后面解释 不断发展 es5, es6,es7....typescript js 两个分支: dom 用js 操作 网页(html,css) bom 用 js 操作 浏览器(弹窗,打开关闭标签,前进后退) js 语言的基础 1: 变量:在程序内部可变的存储数据的空间 6221xxxxxxxxx 100元 定义变量: 关键字(??) var(let) 变量名 = 变量的数值(可选); 变量名(常量)的命令规则: 1: 变量名必须字母开头 2: 不能使用特殊符号作为开头和中间的字符(_ $) 3: 变量名区分大小写 4: 变量命名尽量使用驼峰命名法 5: 变量命名一定要具有含义,一般使用英文翻过过来的单词, 不可以使用拼音或随手打的符号,不可以使用中文!! 简写: var a = 1, b = 2, c = 3; 2: 常量: 在程序内部一旦被赋值后,就无法再被修改! 定义常量: const 常量名 = 常量的数值(必须给默认数值); 类型: 就是变量里面能存储的数据种类 1 值类型(基本类型): 字符串(String): 用双引号或者单引号包裹起来的 数字(Number): 0 ~ 9 的组合 布尔(Boolean):真1 true 或者 假0 false 空(Null) 不存在就是 null 未定义(Undefined) 定义变量未赋值就是 undefined 2 引用数据类型(对象类型):对象(Object)、数组(Array)、 函数(Function)。 类型转换 运算符: + - * / % ++ 让变量自增 1 两种写法: a++ 先使用变量a,之后再+1 ++a 先+1,之后再使用变量a -- 让变量自减 1 += -= *= /- %= = 赋值 == 判断是否相等 === 判断数值和类型是否 都 相等 + 数学运算,条件 必须是数字 拼接字符串 es6 反引号 `我是字符串 ${变量}` 比较运算 == === != !== > < >= <= 逻辑运算 || 如果有一个(多个)为true,则为true,反之如果都为 false,则为 false && 条件表达式两边都为 true,才是 true,登录 ! 真假颠倒 Object(对象 {} ): 1:存储数据的一种方式 用什么格式存储数据: 对象名字key:对象数值value 2:类似java中的class,是一种编程的思想 1: 面向对象 后面讲解 封装 继承 多态性 里面包含了两种类型:属性(参数) & 方法(功能) 2: 面向过程 三种定义方式: 参考代码!! Array 数组: 定义数组: 下标(数字0~无限):数值 // 控制(条件)语句,循环语句 控制(条件)语句 if (条件) { // 符合 上面 条件,就运行这里写的代码 } else { // 不符合 上面 条件,就运行这里的代码 } 三元(目)运算 2 < 10 ? console.log("小于10") : console.log("不小于10") if () { if () { if () { // kkk } } } n if () { } else if () { } else if () { } else { } switch (需要判断的变量) { case 变量可能存在的值 1: // 你的代码 break; case 变量可能存在的值 2: // 你的代码 break; case 变量可能存在的值 3: // 你的代码 break; default: // 上面所有情况都不满足的时候执行这个 break; } 循环语句 for (循环起始变量;循环的结束条件;循环自增控制) { } do { } while () while { } js function (函数,方法) 作用:实现代码的 封装 和 复用 怎么定义方法? 1 function 方法名(参数1,参数2,参数3....) { } 2 var 变量名 = function () { } 简写:es6 里面更新的新的函数写法 var 变量名 = () => { // 如果代码只有一行,花括号可以直接删除 } 参数: 必填参数,可选参数 默认值 参数的另外一种接受方式: arguments array 适用于方法参数很多的情况,提高编写代码的销量 使用(调用)方法 方法名() 注意:先定义后使用 函数的返回值: return 方法的运行结果 函数的作用域: 1:全局 2:局部 变量提升 闭包 什么是闭包? 函数内部的函数访问外部变量的过程 为什么需要闭包? 需要缓存数据 优点:可以缓存数据,避免重复计算,节省计算机内存资源 缺点: 如果存储的数据过多,而有未及时清理会导致内存泄漏 回调函数: 什么是回调函数? 为什么需要回调函数? 同步编程 异步编程 回调地狱 promise 事件: 由三个东西构成 事件源 事件类型 事件处理函数 三种方法连接: 虚拟dom 真实dom 影子dom