自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

转载 关于时间复杂度很好的一篇文章收录

时间复杂度

2021-03-18 17:32:05 86

原创 git rebase 和 git merge的区别

git merge和 git rebase 都是基于合并代码的操作git merge 合并俩个分支 会产生一个特殊的commit 有俩个父节点 会将父节点本身和他们的祖先都包含进来git rebase 取出一系列的提交记录,存放起来么让后在另一个地方逐一放下把所有提交应用到分支上 可以更线性的提交历史场景:分支dev-a 分支dev-b 分支A修改代码后合并到master分支 分支B修改内容和分支A有重合 分支B合并时可能发生冲突master上创建 在master分支commit后 新建分

2020-06-19 10:39:22 185

原创 面线对象的编程设计 ---继承

原型链利用原型链让一个引用类型继承另一个引用类型的方法和属性。基本模式function SuperType () { this.property = true} .getSupervalue = function (){ return this.property }function SubType() { this.subproperty = false}// 继承了Sup...

2020-03-21 22:13:10 132

原创 webpack

Entry: 入口文件Resolve:配置寻找模块的规则Module: 配置处理模块的规则Output:输出文件Plugins:配置扩展插件DevServer: 配置dev-server其他:Entrycontext:path.resolve(__dirname, ‘app’) //设定根目录 绝对路径命令行 webpack --context可选择的 type: String...

2020-03-21 15:22:46 138

原创 性能优化 ---- 页面渲染 重绘 回流

页面呈现流程: (代码怎么显示到电脑上)参考: 高性能WEB开发:深入理解页面呈现、重绘、回流浏览器解析html生成Dom数,根节点一般为document对象,里面包含所有的html标签 文本 注释 包括display: none隐藏以及js动态添加的元素浏览器把所有的样式解析成样式结构体cssomdom数和css结构体 构建 渲染书(render tree)能识别样式 每个节点都有自己...

2020-03-20 23:56:34 205

原创 js方法实现 --- bind

函数绑定bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。var slice = Array.prototype.slice;Function.prototype.bind = function() { var thatFunc = this, thatArg = ...

2020-03-20 17:27:55 67

原创 JS常见方法--- Object.create

Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__(from MDN)const person = { isHuman: false, printIntroduction: function () { console.log(`My name is ${this.name}. Am I human? ${this.isHum...

2020-03-20 16:29:29 164

原创 js方法实现 ---- new

newfunction _new() { let args = [].slice.call(arguments) let constructor = [].shift.call(args) // Object.create()返回一个新对象,这个对象的构造函数的原型指向Foo let obj = Object.create(constructor.prototype) ...

2020-03-20 16:17:44 153

原创 设计模式 ---- 发布订阅

什么是发布订阅模式参考 Javascript中理解发布–订阅模式发布订阅模式 是观察者模式的一种变形,定义了对象间一对多的关系, 让多个订阅者同时监听一个主题对象(发布者),当一个对象发生变化时, 所有依赖他的对象都得到通知 。应用场景可以广泛应用异步编程,可以替代回到函数一个对象不再显式的调用另一个对象的接口特点:创建订阅者需要消耗一定的时间和内存虽然弱化对象之前的链接,过...

2020-03-20 13:56:31 81

原创 js常见方法 --- 斐波那契数列

斐波那契数列常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定 N,计算 F(N)。首先 我们理解斐波那契数列的概念:我们先从一个常见的爬楼梯的问题入手,加入我要爬一节楼梯,每次只能爬一台阶...

2020-03-20 12:01:43 535

原创 JS常见方法 --- 防抖

防抖: 一般用在搜索框搜索 , 一段时间内只执行最后一次即可,他的应用也是一个定时器的应用function debounce (fn, delay = 300) { let timer = null return (...args) => { clearTimeOut(timer) timer = setTimeOut(() => { fn.apply(thi...

2020-03-20 11:37:14 160

原创 JS常见方法 ----- 函数节流

防抖和节流节流 就是 保证在一段时间内只执行一次核心代码(比如我连续的进行一些dom操作可能会会导致浏览器挂起)背后的思想:某些代码不可以在没有间断的情况下连续重复执行。第一次调用函数,创建一个定时器在指定时间后执行,第二次调用函数的时候,会清除定时器并创建另一个定时器。 目的是只有在执行函数的操作请求 在定制了一段时间后再请求。这是js高级程序设计的一段代码function throt...

2020-03-20 11:31:12 162

原创 js常见方法实现 ----数组扁平化

数组扁平化Array.prototype.myflat = function (deep = 1) { return [].concat(...this.map(v => { return Array.isArray(v) && deep > 1 ? v.myflat(deep - 1) : v }));};Array.prototype.myf...

2020-03-19 16:12:06 129

原创 js 常见方法实现----函数柯里化实现

函数柯里化通用实现function curry(fn, ...args) { if (args.length >= fn.length) return fn(...args); return function (...args2) { return curry(fn, ...args, ...args2); }}概念(wiki): curring 是把接受多个...

2020-03-19 12:15:23 720

原创 理解call和apply

先占个地方:

2020-03-12 17:05:08 185

原创 从对象的理解到原型链继承

拿起我前端必备的经久耐用的javascript高级程序 再认真的理解一次原型链以及面向对象编程的基础知识 ,毕竟现在好多企业的招聘要求上 深深的写着 熟悉面向对象编程呢 会用和完全融会贯通是有区别的 好好看看基础的概念理解;理解对象1. 创建自定义对象// Object构造函数var person = new Object()person.name = 'Jamie'person.ag...

2020-03-12 17:04:49 133

原创 Markdown文本转html

今日收到一个需求 :需求方想要一个FAQ页面 由于FAQ内容会不停更新,希望能让市场的人 直接用md转html1 运用Typora 进行转换下载Typora下载地址打开设置–>打开主题文件夹主题文件夹中有一些ide自带的主题文件的css这些css能兼容pc和移动端(个人认为很棒)自定义特别样式 以github主题为例 新建github.user.css 就可以自定义样式了保存c...

2019-05-30 16:43:18 840

原创 vue源码阅读记录---rollup配置文件细读

在vue源码的script/script.js 定义了rollup打包的配置文件 :1 这一部分引入了一些依赖const path = require('path') // path 模块提供了一些用于处理文件路径的小工具const buble = require('rollup-plugin-buble') //rollup.js打包的过程中进行代码编译,将ES6+代码编译成ES2...

2019-04-19 18:58:13 528

原创 vue源码阅读记录(一)

vue源码目录结构—了解每个文件的作用是什么,Vue 是如何规划目录的等等。Vue技术内幕├── scripts ------------------------------- 构建相关的文件,一般情况下我们不需要动│ ├── git-hooks ------------------------- 存放git钩子的目录│ ├── alias.js -----------------...

2019-04-19 17:09:26 800

原创 我眼里的js原型链(学习笔记 )

申明在js中都是对象 , Number是 String是 Boolean也是 Function是 Function的prototype也是 对象都具有 proto 属性Function 这个对象有它特有的 原型属性 即 prototype 这是属性是一个指针,指向一个对象 (包含所有实例共享的属性和方法 叫做原型对象) 原型对象有一个属性叫做 construcor 这个只会原构造函数...

2019-03-07 11:00:18 176

原创 访问API后新窗口打开网页拦截问题解决

最近开发中遇到的问题:打开一个pdf 打开之前需要验证用户身份(获取用户信息) 成功以后直接打开1 一开始以为只要ajax请求以后带来就好了呀 然后开始写 userInfoSave(0, this.formCustom).then(data => { window.open(this.item) / this.item为网址 Message.succ...

2019-03-07 10:59:56 460

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除