- 博客(20)
- 收藏
- 关注
原创 2021-10-20 linux 安装vue时 出现了 err
error 如下npm ERR! code EINTEGRITY integrity checksum failed when using sha1 #113run the demand npm cache verifyIt works.
2021-10-20 18:09:20
146
原创 手写promise
// 手写一个promisefunction pro (executor){ let _this = this; _this.$$status = 'pending' _this.failCallback = undefined; _this.successCallback = undefined; _this.error = undefined ; setTimeout(_=>{ executor(_this.resolve.bind(_this),_this.reject.bin
2021-05-11 16:41:34
111
原创 原型链粗解
首先,es6中的类,实际上是方法的语法糖prototype 是函数的属性,函数的prototype指向了一个对象,这个对象是调用该构造函数而创建的实例的原型。原型就是,每个js对象在创建时,都会关联一个原型对象,对象从原型中继承属性。class A { constructor(age){ this.age = age; } getAge(){ return this.age; }}等价于function A (age){ this.age = age ;}A.pr
2021-04-29 15:17:38
100
原创 白屏时间/用户可操作时间/总下载时间的时间
白屏时间是指浏览器从响应用户输入网址地址,到浏览器开始显示内容的时间。白屏时间 = 地址栏输入网址后回车 - 浏览器出现第一个元素影响白屏时间的因素:网络,服务端性能,前端页面结构设计。首屏时间是指浏览器从响应用户输入网络地址,到首屏内容渲染完成的时间。首屏时间 = 地址栏输入网址后回车 - 浏览器第一屏渲染完成影响首屏时间的因素:白屏时间,资源下载执行时间。<!DOCTYPE html><html lang="en"><head> <met
2021-04-17 10:15:56
369
原创 实现轮播图效果 纯CSS + JS
div { margin-top: 200px; margin-left: 300px; width: 200px; height: 200px; border: 2px solid gold; overflow:hidden; } ul { width: 1000px; height: 200px; } li { li...
2021-04-12 21:34:29
142
原创 手写一个call/bind/apply
var year = 2021function getDate(month, day) { console.log( this.year + '-' + month + '-' + day)}let obj = {year: 2022}~function(){function callSelf(context, ...args) { if (typeof this !== 'function'){ throw new TypeError('error') } let key =
2021-04-09 17:59:01
77
原创 【js】创建一个新对象时,发生了什么
function _new(){ let target = {} // 创建一个空对象 // 第一个参数是构造函数 let [constructor,...args] = [...arguments] // 执行[[原型]]链接;target是constructor的实例 target.__proto__ = constructor.prototype; // 执行构造函数,将属性或方法,添加到创建的空对象上 let result = constructor.apply(tar.
2021-04-09 10:46:54
115
原创 正则表达式初阶
定义一个正则表达式/正则表达式/修饰符new RegExp(‘正则表达式’,’修饰符’)修饰符有三种g:全局匹配i:不区分大小写m:多行匹配例如: var a= /hello \w{3,12}/g var b=new RegExp("hello \\\w{3,12}",'g' )对象调用RegExp中的方法test()检测字符串中指定的值,返回true or falseexec()compile()该方法用于改变RegExp,既可以改变检索模式,又可以添加or
2020-09-08 10:22:55
101
原创 从输入url到页面加载完成,过程发生了什么
(1).DNS解析当我们在浏览器中输入一个域名的时候,例如www.mi.com,这个域名只是与IP地址的一个映射,这时DNS解析就要充当一个翻译的角色,把域名解析成真实的IP地址。所以DNS解析的过程实际上就是将域名还原成真实IP地址的过程。DNS的解析又分为以下几个步骤:1.浏览器会先检查自身缓存中有没有被解析过的这个域名对应的IP,如果有,解析结束;2.如果浏览器缓存没有命中,浏览器会检查操作系统缓存中是否有对应的解析过的结果,而操作系统也有一个域名解析的过程,在hosts文件里可以读写,如果在
2020-05-27 10:28:52
135
原创 Web socket与TCP socket区别
先介绍一下TCPTCP又叫传输控制协议,是面向链接的、可靠的、基于字节流的传输协议,建立TCP链接需要三次握手,断开链接需要四次挥手,此处不再赘述。TCP头部包括了一些字段:序列号(seq): 这个序号保证了TCP传输报文是有序的。对面端可以通过seq来拼接报文字段。…webSocket是服务器与客户端的一种全双工通信协议,一开始的握手通过HTTP请求来完成,但是在后面的传输中是不需要HTTP的。HTTP与Web socket都是基于TCP的,但是Web socket是双向的,HTTP请求是单
2020-05-18 16:24:35
1137
原创 常见排序算法
单词解释1.稳定排序前a在b的前面,排序后a仍然在b的前面,则为稳定排序2.不稳定排序前a在b的前面,排序后a在b的后面,则为不稳定排序3.时间复杂度需要比较的次数4.空间复杂度算法在计算机中占有的内存排序算法1.冒泡排序算法描述1.比较两个相邻的元素,如果前者大于后者,则交换两者位置2.重复以上动作,直到排序完成代码 function bubbleSort(arr) { let length=arr.length for(let i =
2020-05-16 12:49:25
213
原创 五大算法简介
算法的本质都是一个优化问题,能够取得最优解法。1.分治法将一个复杂的大问题拆解成多个子问题,分治法是递归的典型使用分治出来后的每个子问题都是独立的,而子问题的解又可以当作整个答案问题的解2.动态规划问题将待求解的问题拆解成多个子问题,按照顺序解决子问题,并且子问题的解可以为下一个子问题提供信息,3.贪心算法通过局部最优解,来获得全局最优解4.回溯法深度优先策略,在尝试过程中,若解不可行,则将回溯到父节点5.分支限界法广度优先策略,回溯法的求解目标是找出解空间树中满足约束条件的所有解,而
2020-05-12 00:36:42
371
原创 js中call和apply
做牛客上的测试题,里面有这道,我好像完全从来没有听过这个东西…call 和apply的作用都是在特定的作用域调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。区别是两者参数的不同对于call(),第一个参数是运行函数的作用域,其余参数都直接传递给函数即传递给函数的参数必须逐个列举出来。对于apply(),第一个参数是 运行函数的作用域 ,另一个参数是参数数组,可以是Array实例或arguments对象。...
2020-05-10 19:59:55
106
原创 vue中的数据双向绑定与nextTick
在理解nextTick之前要先理解一下VUE中的双向数据绑定vue的响应式对象,是利用了Object.defineProperty拦截数据,重新定义了对象获取属性值(get)和设置属性值(set)。官网是这么写的:当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的 property,并使用 Object.defineProperty 把这些 property 全部转为 getter/setter。这些 getter/setter 对用户来
2020-05-09 12:53:39
372
原创 css 积累篇
hidefocus去掉超级链接的下划线!important!在此处不是否定的意思,而是重要的意思。让浏览器首先执行这个语句,当对同一个对象设置了多个同类型的属性的时候,首选执行这一个。...
2019-08-24 13:53:30
105
原创 JS中的动态ID
$("#gxpt").on("click","#txpt_tsbh",function(){// some codes;});on方法包含很多事件,点击,双击等等事件。$(document).on(‘click’,’.className’,function(){})是将指定的事件绑定在document上,而新产生的元素如果符合指定的元素,就能够触发事件。...
2019-07-17 15:50:29
2734
原创 ES6中的箭头函数
JavaScript是ES6中的arrow functionConst Plot =(superClass)=>class extends superClass {constructor(coordinates){super (coordinates;this.updatePoint.bind(this);}}此处的superclass表的是继承对象的类型...
2019-07-15 16:16:31
158
原创 前端优化方法
watch可以监控当前断定啊的所在所用域的任何表达式的后果watch栏下面的call stack表示了这个函数的调用堆栈(这个函数在之前被那些函数所调用等等)
2019-07-15 14:02:11
106
原创 ES6 细节
import用于在一个模块中 加载另一个含有export接口的模块export用于在对外输出本模块(本文件、变量)的接口export default的命令用于指定模块(类)的默认输出,且一个模块只能有一个默认输出,在一个模块中只能使用一次export default,default的本质是一个变量,后面不能添加变量声明语句。...
2019-07-15 14:00:18
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人