06 2020 档案

摘要:伪元素选择器 ::first-letter —— 匹配指定选择器的首字母/首汉字 ::first-line —— 匹配指定选择器的首行。 ::selection —— 匹配元素中被用户选中或处于高亮状态的部分。 ::before —— 匹配被选元素的内容前面插入内容,可以与 content 配合使用 阅读全文
posted @ 2020-06-14 19:52 彭尼玛 阅读(825) 评论(0) 推荐(0)
摘要:伪类选择器 伪类选择器前面都有 : (冒号) 除了 hover,其他一般用于链接 link —— 对 鼠标点击之前(未被访问) hover —— 对 鼠标指针悬停 active —— 对 鼠标点击 visited —— 对 鼠标点击之后(已被访问) target —— 可用于选取当前活动的目标元素, 阅读全文
posted @ 2020-06-14 19:51 彭尼玛 阅读(229) 评论(0) 推荐(0)
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docum 阅读全文
posted @ 2020-06-13 10:40 彭尼玛 阅读(119) 评论(0) 推荐(0)
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>全屏滚动< 阅读全文
posted @ 2020-06-13 10:39 彭尼玛 阅读(117) 评论(0) 推荐(0)
摘要:使用 Blob 隐藏真实资源路径 我们可以使用 Blob 对象隐藏真实的资源路径,在一定程度上可以起到数据的加密性,更多的是为了干扰爬虫。 比如日常使用的一些音频,视频,图片,我们都可以使用其 Blob 二进制数据流来表征数据,而非使用 uri,就像经常用到的 image src 的 dataUrl 阅读全文
posted @ 2020-06-09 09:31 彭尼玛 阅读(2076) 评论(0) 推荐(0)
摘要:Vue 中事件绑定的原理 Vue 的事件绑定分为: 原生事件绑定、组件事件绑定 原生 dom 事件的绑定,采用 addEventListener 实现 组件绑定事件采用的是 $on 方法 v-model 的实现原理 可以看成是 v-bind:value 加上 v-on:input 事件 的语法糖 v 阅读全文
posted @ 2020-06-09 09:30 彭尼玛 阅读(219) 评论(0) 推荐(0)
摘要:Vue 模板编译原理 Vue 中式如何将 template 转换成 render 函数? 虚拟 DOM:用 对象来描述 DOM 元素 ast 树:用 对象来描述 JS 语法 将模板转换成 ast 树(即:用对象来描述真实的 JS 语法) 优化树 通过 ast 树再生成 render 函数 rende 阅读全文
posted @ 2020-06-07 12:32 彭尼玛 阅读(221) 评论(0) 推荐(0)
摘要:参考文章:https://www.cnblogs.com/kidney/p/6052935.html?utm_source=gold_browser_extension 最简单的 双向绑定 //极简双向绑定 let $input = document.querySelector("input"); 阅读全文
posted @ 2020-06-07 12:27 彭尼玛 阅读(312) 评论(0) 推荐(0)
摘要:Vue 中如何检测数组变化? 由于 Object.defineProperty 无法监听数组的变化。 所以,在 Vue2.X 版本中,作者用了一种 hack 的方式,即:重写了数组原型的方法。 虽然重写,但基本和原来的方法一样,只是多了 通知视图更新(因为改变了数组) 数组里如果也有 Object 阅读全文
posted @ 2020-06-06 09:50 彭尼玛 阅读(239) 评论(0) 推荐(0)
摘要:实线代表方法调用,虚线代表事件通知。 1.MVC graph LR View .->Controller graph LR Controller -->Model graph LR Model-->|修改| View View 事件触发到 Controller Controller 完成业务逻辑后, 阅读全文
posted @ 2020-06-06 09:48 彭尼玛 阅读(176) 评论(0) 推荐(0)
摘要:生成器函数 generator(生成器)是 ES6 标准引入的新的数据类型。一个 generator 看上去像一个函数,但可以返回多次。 generator 函数和普通的函数区别有两个, 1:function 和函数名之间有一个*号, 2:函数体内部使用了 yield 表达式 创建生成器对象 调用 阅读全文
posted @ 2020-06-05 18:27 彭尼玛 阅读(583) 评论(0) 推荐(0)
摘要:学习自:http://cavszhouyou.top/JavaScript%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E4%B9%8B%E7%BB%A7%E6%89%BF.html 继承方式 原型链 在 ECMAScript 中描述了原型链的概念,并将原型链作为实现继承 阅读全文
posted @ 2020-06-05 18:26 彭尼玛 阅读(322) 评论(0) 推荐(0)
摘要:1. js 获取原型的方法? p.__proto__ : (非标准方法,是浏览器实现的,__proto__ 指向 构造函数的原型) p.constructor.prototype : (由于原型链的关系,p 里虽然没有constructor,但是其原型上有, 而 constructor 又指向了构造 阅读全文
posted @ 2020-06-05 18:25 彭尼玛 阅读(347) 评论(0) 推荐(0)
摘要:目录: JS 中的执行上下文 1. 变量对象 2. 作用域链 3. this 指针 JS 中的执行上下文 JS 是一种描述性脚本语言,不同于 C#,JAVA,它不需要编译成中间语言,而是由 JS 引擎动态解析和执行。执行上下文( Execution Context ),也便是常说的 执行环境。 执行 阅读全文
posted @ 2020-06-05 18:24 彭尼玛 阅读(1266) 评论(0) 推荐(0)
摘要:函数声明、函数表达式 函数声明会提前,而函数表达式是在运行时进行赋值。 函数会首先被提升,然后才是变量。也就是说,同一作用域下提前,函数会在更前面。 【注】 相同的变量名声明会被直接忽略,所以下方 函数声明不论放在哪里,第一个 Foo()都输出 1 Foo(); // 1 ,因为函数声明提前了,所以 阅读全文
posted @ 2020-06-05 18:23 彭尼玛 阅读(333) 评论(0) 推荐(0)