随笔分类 -
js
-
Map 数据结构
摘要:Map 数据结构 + 因为 Object 类型只能存储字符串作为 key + ES6 的时候出现了 Map 数据结构 => 叫做 值 = 值 的数据结构 => 它可以使用复杂数据类型来作为 key 使用 语法: + new Map() + 实例化的时候接收一个 二维数组 => 里层数组的 [0] 作
阅读全文
-
Set 数据结构
摘要:Set 数据结构 + ES6 新增的数据结构 + 迭代起结构的数据 + 语法: new Set() => 可以再实例化的时候, 传递一个数组 => 数组里面的每一个数据就是 set 数据类型的每一个数据 + 特点: 不接受重复数据 => 用它可以去重 + 常用方法 1. add() => 语法: s
阅读全文
-
http协议传输
摘要:http 传输协议 + 前后端交互的方式 + 前端以什么样的形式发送数据给后端 + 后端以什么样的形式返回数据给前端 传输协议 1. 必须经历四个步骤 1-1. 建立连接 1-2. 发送请求(前端给后端) 1-3. 返回响应(后端给前端) 1-4. 断开连接 2. 只能由前端发起 + 不能由后端主动
阅读全文
-
判断数据类型
摘要:判断数据类型1. typeof=> 准确的判断基本数据类型=> 对于复杂数据类型并不准确 2. constructor=> 利用原型的属性=> 利用对象访问机制 3. instanceof=> 语法: 对象 instanceof 构造函数 4. Object.prototype.toString.c
阅读全文
-
四种创建对象的方式
摘要:/* 创建对象的四种方式 */ /* 字面量创建 => var obj = {} */ // let o1 = { // name: 'Jack', // age: 18, // gender: '男' // } // 当我需要第二个对象的时候 // let o2 = { // name: 'Ros
阅读全文
-
解构赋值
摘要:解构赋值 + 定义: 快速从 对象 或者 数组 里面获取一些数据 + 分成两种 1. 解构数组 => 语法: let [变量1, 变量2, ...] = [数据1, 数据2, ...] => 也可以解构多维数组 2. 解构对象 => 语法: let { key1, key2, ... } = { 键
阅读全文
-
点点点函数
摘要:点点点(...) 运算符 + 展开运算符 => 当你再函数的实参位置或者数组或者对象里面使用的时候是 展开 => 就是把包裹的内容全部打开 + 合并运算符 => 当你再函数的形参位置使用的时候是 合并 => 作用: 箭头函数没有 arguments, 我们使用 合并运算符整一个
阅读全文
-
模板字符串
摘要:/* 模板字符串 + ES6 定义了一种声明字符串的方式 + 使用 反引号(``) + 特点: 1. 可以换行书写 2. 可以直接进行变量的拼接 3. 模板字符串可以调用函数 => 字符串里面的内容是函数的参数 => ${} 把字符串切开, 组合成一个数组当作第一个参数 => 从左到右开始依次是每一
阅读全文
-
this指向问题
摘要:一、指向 this 指向 + 定义: => this 是一个使用再作用域内部的关键字 => 全局很少用, 大部分是在函数内部使用 + 指向: => 全局使用: window => 函数使用: **不管函数怎么定义, 不管函数在哪定义, 只看函数的调用(箭头函数除外)** -> 普通调用(直接调用/全
阅读全文
-
阻止浏览器默认行为
摘要:阻止浏览器默认行为 + 什么是浏览器默认行为 => 不需要我们手动绑定, 本身就带有的事件行为 => a 标签, 自带点击行为 => form 标签, 自带表单提交 => 框选, 自带框选效果 => 鼠标右键单击, 自动弹出一个菜单 => ... + 阻止浏览器默认行为 => 在同类型事件里面进行阻
阅读全文
-
事件委托
摘要:事件委托 1. 循环绑定事件 => 给每一个 li 绑定一个点击事件 2. 事件委托 => 把所有 li 身上需要绑定的事件绑定给一个共同的结构父级 => 绑定给 ul => 事件目标: 准确触发事件的元素 -> 如果你点击在了 ul 身上, target 就是 ul -> 如果你点击在了 li 身
阅读全文
-
阻止事件传播
摘要:阻止事件传播 + 因为事件的传播, 会导致我在一个元素上触发行为 + 会执行多个元素的事件处理函数 + 阻止事件传播 1. e.stopPropagation() => 标准浏览器使用 2. ecacelBubble = true => IE 低版本使用 兼容: 方式1: if (e.stopPro
阅读全文
-
移入移除事件的区别
摘要:移入移出事件的区别 1. mouseover 移入 mouseout 移出 2. mouseenter 移入 mouseleave 移出 + 行为: 都是移入行为和移出行为会触发事件 + 事件: enter 和 leave 不会进行事件传播
阅读全文
-
事件的传播
摘要:事件的传播 + 当你在一个元素上触发行为的时候 => 会按照 结构父级 的顺序向上传播 行为 => 直到 window 为止 + 问题1: => 当我点击 inner 的时候, 给从 inner 到 window 的所有都绑定一个点击事件 => 会不会都触发 + 问题2: => 当我点击在 inne
阅读全文
-
键盘事件
摘要:键盘事件的事件对象信息 1. 按下的是哪一个按键 1-1. 事件对象里面有一个 key 的属性 => 表示你按下的那个按钮 => 特性: IE 低版本不支持 1-2. 事件对象里面有一个叫做 keyCode 的属性 => 表示你按下的是哪一个按键, 但是是以编码的形式给你 => 特性: FireFo
阅读全文
-
鼠标事件的对象信息
摘要:鼠标事件的事件对象信息 + 事件对象里面和鼠标事件相关的一些信息 1. 按下的按键 + 事件对象中有一个叫做 button 的属性 + 他来表示你按下的是哪一个按键 => 0 表示左键 => 1 表示滚轮键 => 2 表示右键 2. 光标的坐标(重点) + 只要是鼠标事件, 任何鼠标事件都好使 2-
阅读全文
-
了解事件
摘要:了解事件 + 我们提前和浏览器约定好一些行为 + 当用户在浏览器触发这些行为的时候, 有一个事件处理函数执行 事件三要素 1. 事件源: 在谁的身上绑定事件 2. 事件类型: 什么事件 3. 事件处理函数: 当行为发生的时候, 执行哪一个函数 + div.onclick = function ()
阅读全文
-
模板引擎
摘要:模板引擎 + 什么时模板引擎 ? => 帮助我们快速渲染页面 => 三体分离(结构 样式 行为 分开) => 一般都是第三方文件引入使用 + 常见的模板引擎 ? => art-template, 前后端都可以用 => underscroll, 后端 JS 不能用 => e.js, 后端 JS 不能用
阅读全文
-
元素常用事件
摘要:元素的常用事件 + 再 JS 里面, 事件分为几个大类 1. 鼠标事件 2. 键盘事件 3. 浏览器事件 4. 表单事件 5. 拖拽事件 6. 触摸事件(移动端) 7. 其他事件 + JS 里面的所有原生事件没有大写字母 鼠标事件 1. click => 鼠标左键单击 2. dblclick =>
阅读全文
-
获取元素偏移量
摘要:获取元素偏移量 + 一个元素相对于参考系的坐标位置 1. offsetParent + 语法: 元素.offsetParent + 作用: 拿到该元素获取偏移量的时候的参考父级 => 私人: 当你想给这个元素设置一个绝对定位的时候 他会根据谁来定位, 他的 offsetParent 就是谁 2. o
阅读全文
|