函数防抖(debounce)的实现
What is 防抖? 在事件触发n秒后再执行回调,如果在这n秒期间又被触发,则重新记时,也就是说在n秒之内只执行最后一次触发 执行过程 当事件触发时,相应的函数不会立即触发,而是会等待一定的时间 当事件密集触发时,函数的触发将会频繁重置延迟 只有延迟时间内再无任何事件触发,才会执行真正的响应函数 <img src="https://docs.hgyn23.cn/static/a426833e5d485957c71ee7c5a7870856" width="600px" height="auto" alt="a426833e5d485957c71ee7c5a78...
call\apply\bind实现原理解析
fn.call方法原理 Function.prototype.v2call = function (thisArg, ...args) { //目的:将传入的thisArg对象作为调用v2call的函数的this指向 //使用fn变量存储this 此时fn指向调用v2call的函数对象 这里是foo var fn = this; //边界判断 如果不为空 将原始字面量转化为实例对象 否则thisArg指向window thisArg = thisArg ? Object(thisArg) : window; //thisArg新增...
Vuejs使用watch侦听器侦听数据时遇到的一系列问题
执行顺序的问题 侦听子组件中获取的数据 在data中初始化一个变量,并在watch中侦听,在methods中发起异步请求前将数据赋值给这个变量时,watch中触发的回调函数和methods中等待异步执行完毕前还未执行的代码谁会先执行? 等待methods异步执行完毕,继续执行还未执行的代码,然后执行监听器中的回调函数。 父组件获取数据,传递给子组件 父组件中的data初始化一个变量,通过异步请求获取数据赋给该变量并传递给子组件,子组件中使用watch进行侦听,代码谁先执行? `继续执行父组件还未执行的代码,执行完后按顺序被子组件中的watch侦听到并执...
浏览器中键入网址再按下回车,发生了啥?
摘要: 一道经典的面试题,涵盖的知识点非常多,有必要探寻下该问题,对知识体系进行梳理。
系统层 发起http请求,解析域名 DNS Chrome搜索自身DNS缓存。chrome输入chrome://net-internals/#dns可查看 搜索操作系统自身DNS缓存 读取本地HOST文件 以上都查询不到时,浏览器发送一个DNS的系统调用,DNS请求到达宽带运营商服务器。 宽带运营商服务器查询自身缓存 没查询时,发起一个迭代(顶级域--次级域名--...)的DNS解析请求,直到获取到域名对应的...
前端站点部署流程
今天把服务器玩崩了 重装了一下 顺便过了一下部署站点的流程 以此记录 日后再次部署可加快效率 更新软件包 确保 apt-get 安装最新版本的软件包 sudo apt update Git 安装和配置 安装 sudo apt-get install git 配置 配置git用户名和邮箱: git config --global user.name "Your Name" git config --global user.email "youremail@yourdomain.com" 验证配置: ...
Vuejs搭建Server-render项目简要流程
概要 Vue.js Vue.js是构建客户端程序的框架,默认情况下,Vue.js可以在浏览器输出vue组件,并进行生成和操作DOM。 服务端渲染 服务端渲染(Server-Side Rendering),是指由服务侧完成页面的 HTML 结构拼接的页面处理技术,发送到浏览器,然后为其绑定状态与事件,成为完全可交互页面的过程。 与客户端渲染的区别 两张图说明 ![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/421469d3f7694f5da604a2c12169...
vue-element-admin 学习记录
vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。 项目目录结构 ├── build // 构建相关 ├── config // 配置相关 ├── src // 源代码 │ ├── api // 所有请求 │ ├── assets // 主题 字体等静态资源 │ ├── ...
理解代理
假如去某个小区找人,DNS可以帮我定位到是哪栋大楼,URI可以帮我定位到是哪个房间。 正向代理: 假如我【客户端】想找小强【服务端】借钱,但是我不好意思。我去找小李【代理】,然后让小李找小强借。对于小强来说他以为是小李找他借钱,而不是我。 反向代理: 同样是借钱,这回我【客户端】找小李【代理】借钱,小李没钱了,他去找小强【服务端】借钱,然后再把钱借给我,对我来说我认为是小李借钱给我,而不是小强。 总结: 正向代理的代理服务器是部署在客户端,而对服务端来说,它以为对它发起请求的是代理服务器,而真正请求的客户端对服务端来说是不可见的。 反向代...
router.addroutes 动态添加路由表实现权限控制
开发后台管理系统会涉及到根据用户权限来动态渲染侧边栏的问题,在vue2.2.0之后可以使用router.addroutes()来方便动态添加路由了。 addRoutes (routes: RouteConfig[]): void; //动态添加更多的路由规则。参数必须是一个符合 routes 选项要求的数组。 先介绍下实现侧边栏动态渲染的大致方式: 在router.js中配置静态路由表: export const constantRouterMap = [{ path: '/logi...
node.js实现爬取王者农药官网皮肤(高清)
直接上代码 wCrawl.js const cheerio = require("cheerio") const fs = require("fs") //获取html文档内容 const iconv = require("iconv-lite") const axios = require("axios") const { rmAndMkdir } = require("./rwFs") let httpUrl = "https://pvp.qq.com/web201605/herolist.shtml" /**创建输出目录 输出路径 *...