- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 《手写一个vue.js》文章笔记
前言引用文章: Vue.js 是如何实现 MVVM 的?上文中对mvvm的讲解很有一套,可以深读. 文章最后实现了vue.js. 自己手写了两遍,略做优化如下:compile.js 文件中 createHandleElement函数删除xvue.js 中的proxydata代理函数.ps1: 强烈建议自己可以纯手打实现这个代码. 也建议深读一下,原作者写的注释很好.ps2: 作者在...
2020-01-08 22:48:57 222
原创 es5和es6继承的区别
有三个方案,分别是es6和es5,运算的速度:Object.create > setPrototypeOf > new(无论如何继承,大致分为参数为对象和函数的继承。本质上就下面三种继承。
2023-05-31 21:01:44 151
原创 vscode配置--格式化代码
{ // tab设置 "editor.tabSize": 2, // 搜索时不包括的文件夹 "search.exclude": { "**/node_modules": true, "**/bower_components": true, "**/dist": true }, // vetur: vscode保存代码自动换行的设置 "vetur.format.defaultFormatter.html": "js-beautify-html", "ve
2021-03-30 00:39:23 232
原创 0.1+0.2 === 0.3吗?
1. 序答案: 不等于。IEEE 754 只能表示1/2,1/4, 不能表示1/10如何解决大数问题乘以10,变为整数, 会有小数问题。使用toFixed解决字符串相加。使用bignum。js解决,但是性能稍微差点。为什么let a = 0.1, a 就等于0.1iEEE 754 浮点数如何存储双精度存储,1个符号位+11个指数位+52个尾数位最大值和最小值。安全最大值和安全最小值。转换公式引用文章浅谈JavaScript浮点数及其运算浮点数演示网站前端应该知道
2021-03-10 20:03:03 596
原创 axios源码分析笔记
1. 序经常使用axios, 要知道axios比ajax功能强到什么, 为什么强!建议读此文: Axios源码深度剖析 - AJAX新王者2. axios优势拦截器 interceptors转换器http请求: 对于node使用http[s].request ,对于html使用XHR3. axios笔记1. 和jquery的不同jquery会生成多个对象, 而axios一般只会引用时生成一个单例,也可使用create函数个性化生成精髓:返回一个fn, 使得fn符合以下情况:fn i
2021-03-04 14:46:15 122 1
原创 算法之钱币找零-01
1.说点啥总是算法,算法,算法,林林总总少说也有小两百道了,各种文章和书籍也看了一些。看到钱币找零,还是一筹莫展。得改变一下自己的学习思路和状态.每刷一道题,要写出各种解法和时间空间复杂度。一定要写总结,这个很重要!2. 题目描述这个问题在我们的日常生活中更加普遍。假设我们有 1 元、2 元、5 元、10 元、20 元、50 元、100 元这些面额的纸币,它们的张数分别是 c1、c2、c5、c10、c20、c50、c100。我们现在要用这些钱来支付 K 元,最少要用多少张纸币呢?3. 总
2021-01-06 15:12:36 659 1
原创 XMLHttpRequest cannot load. Request header field password is not allowed by Access-Control-Allow-Hea
1. 问题如题:XMLHttpRequest cannot load. Request header field password is not allowed by Access-Control-Allow-Headers in preflight response在请求的时候,触发options预检请求报错。2. 解决方案Access-Control-Request-Headers :*改为Access-Control-Request-Headers :Content-Type通配符是20
2020-07-07 17:50:02 498
原创 pupperteer2.0入坑初体验
前言选pupperteer原因: google出品,有保障。文档还是要看官网: 官网地址坑一:navgation timeout可以设置timeout:0超时,但无效。setUserAgent(… …),无效。经测试,发现headless设置为false,即可。如果headless想设置为true怎么办?开启fiddler工具,什么都不用动,好了!ps1: 怀疑是url获取、或者重...
2019-11-25 15:55:42 594
原创 transform:scale 和 minwidth的小技巧
前言文字缩小到一定地步就无法缩小,就是说fontsize无效,于是用scale。布局使用的flex,设置scale后不会导致重排,留了空白。用margin-right:-0.8rem;这样,会导致屏幕左右出现了滑动条。使用min-width:5rem;或者width:5rem;解决问题。但是还是不明白为什么min-width可以解决滑动条问题。留笔记于此。代码 disp...
2019-10-09 20:09:46 621
原创 align-items和align-content的区别
结论align-items: 对单行有效。align-content: 对多行有效。单行状态下:只有align-items有效。多行状态下,两者同时存在:只有align-content有效。多行状态下,两者存在一个:都生效。参数示例代码<!DOCTYPE html><html lang="en"><head> <meta cha...
2019-10-09 16:14:46 472 1
原创 每月笔记(2019-9)
9-17svg的使用<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/link" version='1.1'> <use xmlns:xlink="http://www.w3.org/1999/link" xlink:href="#shop"> </use...
2019-09-17 14:01:29 98
原创 webpack学习(一)
前言webpack官方文档很齐全,请看这里:传送门1.package.json文件讲解{ private: true,// 私有,防止发布 main:'index.js', // 本文用不到这个属性。此属性是发布依赖包时方便引用的。如果有这个就是: require(‘abc’), 如果没这个:require(‘abc/dist/xx.js’) script: { ...
2019-08-09 16:25:16 111
原创 《求:javascript中utf-8转码gbk后的长度》引起的思考 (正在编写)
前提:utf-8中汉字长度: 2、3、4字节。gbk2312中汉字长度:2字节gb18030中汉字长度:1、2、4字节前端浏览器不支持gbk,因为用的少。1.hack方法:2.正则方法3.映射表方法github仓库地址:text-encoding优点:完成大部分功能,并且支持GB18030等偏僻的字符集缺点:覆盖了window的TextEncoder和TextDec...
2019-07-26 10:17:15 581
原创 设计模式--观察者模式的三种实现
大家都说vue中数据双向绑定,是一种很经典的观察者设计模式。这里研究一下,做个自我总结。定义一对多的关系subject:observe观察者——普通模式观察者——发布订阅模式观察者——在vue中的使用...
2019-07-19 11:01:34 260
原创 vue依赖收集入门到精通(已入门,精通待完善)
想研究一下vue的原理vue的依赖收集和dep、watcher有关。dep: dependence的缩写,就是依赖的意思watcher: 观察者的意思这是一种经典的发布者–订阅者模式。。。什么是观察者模式?先研究一下观察者模式,在继续写本文吧。。。。每一个对象的getter都有一个的dep对象dep的伪代码:class dep {}...
2019-07-19 10:53:34 267
原创 javascript继承只有一种实现方式
只做总结,具体概念可以看我引用的博客文章。引用:1. 空对象中介继承优点:空对象不占内存修改子对象的constructor不会改变父对象的constructor缺点:isPrototypeOf、instanceof属性无效,需要通过备用属性uber来完成了。(可参考下方的小栗子一号)实现:function extend(child,parent){ // pare...
2019-07-15 15:57:50 111
原创 统计记不住的知识点
记录一些自己经常查询和使用的函数、概念。html特殊转义符 :空格 (non-breaking spacing,不断打空格)<:小于号(less than)>:大于号(greater than)&:符号&":双引号':单引号©:版权©™:商标™...
2019-07-08 11:16:25 169
原创 web、html、html5、h5等都是什么?
作为一个前端工程师,应该专业一点。web: world wide web, 全球广域网, 也叫(万维网,www,web),基于http协议,可在浏览器进行访问的网站。w3c: 是一个组织,创建并维护web标准。html: hypertext markup language,超文本标记语言,一种描述性标记语言, 用来描述文档的结构和语义。是w3c的结构标准。xhtml:可扩展html,纯净的...
2019-07-04 11:01:55 18375
原创 js事件流---是时候对事件流做一个对决了
此文章第一是作为笔记,对知识点做一个整体梳理,第二网上有众多事件流讲解,所以对于我已经理解的细节不再说明,只记录自己疑惑的部分.普通概念:什么是事件流?事件顺序是什么样?捕获--目标--冒泡兼容性怎么样?ie8及以下不支持捕获.兼容性小历史?刚开始其他支持捕获,而ie非支持冒泡.后来w3c支持捕获--目标--冒泡,而ie8头铁还不支持捕获,直到ie9才改变事件委托原理?冒泡+...
2019-05-30 11:30:50 90
原创 字符串替换---替换第X位到Y位的字符
字符串替换有三种方法:字符串连接(简单易想易实现)截取其中几位,然后分别连接。 var str = "asdf123456"; var sp = function(begain, end, mainStr, replaceStr){ var len = mainStr.length; end = end >= len ? len : end; ...
2019-05-21 10:23:10 4813
转载 css笔记三:float
1.float定义元素应沿其容器的左侧或右侧放置允许文本和内联元素环绕脱离文档流保持部分的流动性(与绝对定位相反)2.float的特点3.float常见使用布局4.float与其他的区别5.float的注意事项float和vertical-align共存时,vertical-align失效。是因为使用float后,元素从网页正常流动中移除,脱离文档流,触发BFC,元素的布局...
2019-05-20 15:25:51 171
转载 css笔记二:position
position规定元素的定位类型:position: static | relative | absolute | fixed | sticky;static(没有定位)元素出现在正常的流中,top、bottom、right、left、z-index无效relative(相对定位)元素出现在正常流中。根据本身位置进行偏移。absolute(绝对定位)脱离文档流,相对最近的非stat...
2019-05-16 16:22:38 77
原创 css笔记一: vertical-align规则
原文出处:https://www.cnblogs.com/shuiyi/p/5597187.html建议: 英文里面的图片要比上面链接中的全。1.vertical-algin是什么?本意是用来对齐内联级元素,后来发展成垂直对齐布局。2.什么情况下使用?对齐内联级元素。3.使用规则是什么?vertical-align和元素基线和行框有关。内联元素的基线是字符放置的位置线行...
2019-05-16 11:09:44 207
转载 mvvm的数据检测(笔记)
// 代码来源:https://github.com/HcySunYang/jsonob/blob/master/src/index.js// 经过个人优化后如下: (后续添加备注以及优化步骤)function log(){ var args = Array.prototype.slice.call(arguments); console.log.apply(console, ...
2018-11-20 20:58:38 167
转载 apply\call\bind 笔记
call\apply\bind笔记call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。对于 apply、call 二者而言,作用完全一样,只是接受参数的方式不太一样。func.call(th...
2018-11-16 17:28:34 480
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人