摘要:
一、new实现 function _new() { let obj= {}; // 创建的新对象 // 第一个参数是构造函数 let [constructor, ...args] = [...arguments]; // 存取构造函数原型 obj.__proto__ = constructor.pr 阅读全文
摘要:
一、触发条件 当某个对象有焦点且有监听keydown、keypress、keyup事件时,通过按下松开键盘的某个键来触发 二、区分 1、触发区分 keydown是按下键盘的任何键触发 keypress是按下键盘的键,且能翻译为ASCII字符才会触发 keyup则是按下键盘的键,在松开时触发 keyd 阅读全文
摘要:
1、卸载 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" 2、安装【卸载与安装差别只有最后的install和undeinstall】 ruby -e "$(curl 阅读全文
摘要:
一、安装 不建议使用brew安装,可能会有一些问题,这是nvm官网文档说明 正确安装方式如下: 1、安装前清理node环境 sudo npm uninstall npm -g sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /v 阅读全文
摘要:
一、前言 mac自带python版本为2xx,为了方便之后的版本2xx和3xx控制,我们不直接用homebrew安装python3,我们使用一个python版本管理工具pyenv 二、pyenv安装 通过homebrew直接安装pyenv brew install pyenv 配置(如果用的bash 阅读全文
摘要:
一、指定日期范围股票分价表 接口:http://market.finance.sina.com.cn/pricehis.php?symbol=[市场][股票代码]&startdate=[开始日期]&enddate=[结束日期] 返回:HTML文本;指定日期范围内的股票分价表 例子:http://ma 阅读全文
摘要:
一、获取IP地址 获取流程如下 在浏览器缓存中查找,看是否有该url,有的话直接发起请求,否则下一步 在本地host文件查找,看是否有该url映射,有的话根据映射ip发起请求,否则下一步 向本地DNS服务器发起DNS查询请求,如果有对应IP返回,根据该ip发起请求,否则下一步 本地DNS服务器会向根 阅读全文
摘要:
Promise封装 一、ES5 构造函数版 Promise对象 /** * promise封装 es5版本 */ function Mypromise (callback) { const _this = this this.value = undefined this.status = 'pend 阅读全文
摘要:
一、防抖 debounce(频繁操作最后触发,避免频繁触发) 场景 1. 监听一个输入框,内容发生变化触发change事件,当我们在输入或者删除时会频繁触发change事件,中间这些触发时没必要的,只要当我们停止改变时触发一次change就可以 2. 监听滚动条,滚动条滚动触发scroll事件,当我 阅读全文
摘要:
一、性能优化原则 1. 多使用内存、缓存或其他方法 2. 减少CPU计算量,减少网络加载耗时 3. 空间换时间(适用于所有编程的性能优化) 二、从何入手 1. 让加载更快 减少资源体积:图片、压缩代码 减少请求次数:合并代码、雪碧图、SSR服务器端渲染、缓存 使用更快的网络:CDN 2. 让渲染更快 阅读全文