- 博客(18)
- 收藏
- 关注
原创 javascript实现继承
继上一篇文章说到的原型模式创造对象,主要缺点是存在多个实例共享数组,一般来说不同数据应该有自己的属性副本,这就是开发过程中不单独使用原型模式的原因。这一篇主要讲讲继承,是学习红宝书继承一章做的笔记。JS的继承主要是通过原型链实现的。原型链通过原型继承多个引用类型的属性和方法。重温一下构造函数,原型和实例的关系:每个构造函数(Test)都有一个原型对象(Test.prototype),原型有一个属性指回构造函数(constructor),而实例有一个内部指针(proto)指向原型。如果原型是另一个
2021-04-20 14:26:04
139
原创 javascript创建对象
工厂模式解决了创建多个类似对象的问题,但没有解决对象的标识问题。 // 工厂模式 function creatPerson(name) { let o = new Object(); o.name = name; o.sayName = function () { console.log(this.name) } return o } let person = creat
2021-04-17 23:40:23
150
1
原创 前端面试知识体系(整理中)
最近在准备面试,整理一下需要复习的内容,持续更,如果有补充希望能在评论区说下,谢谢~CSS瀑布流HTMLJSjs基础闭包继承内存泄漏setTimeout和setInterval宏任务和微任务import和require防抖和节流TShttps://www.tslang.cn/docs/home.html浏览器httpcdn小程序官方文档https://developers.weixin.qq.com/miniprogram/dev/framework/wepy框架
2021-04-17 16:56:18
197
原创 git 的使用记录
git 的使用记录git 怎么合并部分文件当你暂时不需要合并整个分支的代码时,可以试试git checkout xxx(想合并的分支) “具体文件夹目录” 可以具体到文件、也可以是文件夹Git怎样撤销一次分支的合并Merge首先你需要认识两个命令git log 可以加上参数 --pretty=oneline,只会显示版本号和提交时的备注信息查到你的版本信息git reflog ...
2021-04-17 11:08:21
111
原创 git stash 暂存的使用
git stash 暂存的使用当你在某一个分支开发的时候,遇到bug需要警急处理,可该分支上的内容又一时不可提交,这个时候 git stash就派上用场了1 执行 git stash 把当前分支内容 放到暂存区,这时候你就可以执行切换分支等操作了当你改完bug回来 ,想继续刚刚的内容,2 执行 git stash pop将代码从暂存区放出来 ,就可以继续开发了git stash l...
2021-04-17 11:07:58
338
原创 根据廖雪峰老师教程的git学习笔记
https://www.liaoxuefeng.com/wiki/8960434880296001 创建版本库GIT INIT2 版本回退1 git log可以查看提交历史git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。首先 git lo...
2021-04-17 09:58:00
1266
原创 git 取消或建立与远程分支关联
1 先查看远程连接git remote -v2 git取消与远程仓库的连接git remote remove origin3 连接远程仓库git remote add origin 仓库地址
2021-04-17 09:32:34
1404
原创 前端 http网络面试题记录
http与httpshttp是HTTP协议运行在TCP之上。所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。https是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份。URL由什么组成协议,域名,端口号,页面路径,参数,hashHTTP状态码及其含义状态码表示了响应的一个状态,可以让我
2021-04-17 09:32:19
761
原创 前端垃圾回收机制与内存泄漏
垃圾回收机制js是使用垃圾回收的语言,执行环境负责在代码执行时管理内存js是通过自动内存管理实现内存分配和闲置资源的回收思路:确定哪个变量不会再使用,然后释放它。垃圾回收是周期性的。标记清理首先为所有变量加上标记,然后将处在上下文的标量的标记去掉,之后假如再被加上标记的变量则是需要回收的变量。引用计数内存管理内存:由可读写单元组成,表示一片可操作空间;管理:人为的去操作一片空间的申请、使用和释放;内存管理:开发者主动申请空间、使用空间、释放空间;管理流程:申请-使用-释放全停顿
2021-04-17 09:30:34
226
原创 前端面试--安全问题
安全基本概念,攻击方式,防御措施CSRF跨域请求伪造前提:用户登录A网站生成本地cookie并且不登出情况下访问B防御token验证服务器发送给客户端一个token;客户端提交的表单中带着这个token。如果这个 token 不合法,那么服务器拒绝这个请求。隐藏令牌把 token 隐藏在 http 的 head头中。 同一refer验证Referer 指的是页面请求来源。意思是,只接受本站的请求,服务器才做响应;如果不是,就拦截。XSS跨域脚本攻击原理
2021-04-16 21:08:43
397
1
原创 前端面试--正则表达式
前阵子面试遇到正则表达式,是自己平时比较疏忽的一个点,因此复习了一番做下笔记。面试题使用正则表达式检查某段字符串是否为 URL。U RL 的认定标准:以「协议://」开头,例如「http://」、「https://」、「ftp://」、「file://」等,但无需校验是否为有效协议解答:([a-z]+):\/\/测试网站字符匹配1 \d 表示0-9的一位数字2 \D 除数字以外的任意字符3 \w 表示数字,大小写字母以及下划线4 \W 非单词字符5 \s 表示空白符 \f \
2021-04-16 20:56:39
297
原创 前端面试问到setTImeout与setInterval区别
基础知识setTimeout超时调用,超过时间T,就执行fnsetInterval间歇调用,调用周期t,执行fn相同点二者调用后均返回数值ID,可以用来取消。清除setInterval比较重要setTimeInterval间隔时间不准确原因1 假如fn执行时间大于周期的话,会导致间隔时间不准确。因为他必须执行完上一个后才会去执行下一个,假如上一个使用时间超过间隔时间,下一个函数会在上一个函数执行结束之后立即执行,所以间隔不准确。2 当一个函数时间特别长,以至于发出多个fn,会导致多个f
2021-04-12 18:29:24
622
1
原创 手写vueRouter
/* 需求分析: 1、vueRouter类和install方法 2、全局组件 router-view (显示内容)和 router-link(用于跳转) 3、监控url的变化, hashchange或popstate 4、响应最新url:创建一个响应current,,当它改变获取对应组件并显示*/第一步:vueRouter类和install方法// 1.实现一个Router类并挂载期实例let Vue;class VueRouter { const
2021-03-15 11:25:36
136
1
原创 swiper组件的使用
1 介绍及文档vue-awesome-swiper 基于 Swiper4、适用于 Vue 的轮播组件,支持服务端渲染和单页应用。https://www.swiper.com.cn/https://www.npmjs.com/package/vue-awesome-swiper2 安装npm install vue-awesome-swiper --save3 引入import { swiper, swiperSlide } from ‘vue-awesome-swiper’;import ‘
2021-03-13 23:42:43
1123
原创 小程序wepy框架注册全局原生组件
需求:想要在wepy框架注册一个全局组件,可以不需要在每个页面都引入,减少冗余代码。实现:1 由于wepy框架实现的组件跟原生的不太一样,所以无法使用.wpy后缀的组件,只能使用原生的组件2 在app.wpy里面注册在config={//添加图片代码“usingComponents”: {“failtoconnect”:“components/failToConnect/failToConnect”} ,}3 使用 这时候页面使用就无需引入文件直接 即可tips:1 组件名称
2020-07-01 18:38:45
1453
原创 VUE 如何注册全局组件?vue.use()的使用
认识两个API此处from 官方文档Vue.component( id, [definition] )参数:{string} id{Function | Object} [definition]用法:注册或获取全局组件。注册还会自动使用给定的id设置组件的名称// 注册组件,传入一个扩展过的构造器Vue.component(‘my-component’, Vue.extend({...
2020-03-13 16:01:47
1206
原创 反向代理失败?nginx配置proxy_set_header Host $host的作用
nginx 配置了反向代理后,接口访问一直400proxy_pass http://imglib.xxx.xxxx.com;后来一查发现要带上 proxy_set_header Host imglib.xxx.xxxx.comproxy_set_header Host $host这一行的作用是把原http请求的Header中的Host字段也放到转发的请求里。如果不加这一行的话,nginx...
2020-03-12 16:46:57
3953
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人