- 博客(64)
- 收藏
- 关注
原创 单链表反转
单链表反转/** * 边界条件,当链表为null或链表中仅有一个节点时,不需要反转 */var reverseList = function(head) { if (!head || !head.next) return head let prev = null, cur = head; while(cur) { // 记录下一个节点 var next = cur.next; cur.next = prev; p
2020-10-29 22:42:27 175
原创 对Promise的新的理解
前言每一次的学习都能感受到新的东西,很开心初步总结promise是一个对象,从他可以获取异步操作的消息promise有两个特点对象的状态不受外界影响 有三个状态 pending fullfilled rejected 只有异步操作的结果可以决定当前是哪个状态,任何其他操作都无法改变这个状态一旦状态发生改变就不会再次改变 状态的改变只有从pending -> fullfi...
2019-09-24 14:02:05 439
原创 grid布局
grid布局传统布局, flex布局, grid布局的比较学习的网站 https://cssgridgarden.com1.1 grid-template-rows <div class="parent"> <div class="item">1</div> <div class="item">2&l...
2019-09-17 09:50:42 330
原创 开心的webpack
学习 https://juejin.im/post/5cecd6fdf265da1b827a7ca5一直都是直接vue-cli脚手架搭起来的,没怎么自己动手玩过webpack,这次就简单的玩一下~~ 开心安装$ npm install webpack webpack-cli -D 或者 npm install webpack webpack-cli --save-dev起步npm...
2019-09-02 23:30:11 177
原创 深浅拷贝的学习
学习 从零实现jQuery的extend浅拷贝的使用场景Object.assign… 扩展运算符Array.prototype.slice.call浅拷贝的实现其原理就是 拷贝一个对象的属性到另一个对象中var shallowCopy = function (obj) { if (typeof obj !== 'Object') return // 根据obj的...
2019-08-31 15:36:20 116
原创 学习一下mvvm 双向绑定拉
概括一下 mvvm 就是发布(watcher)-订阅 (dep)+ defineProperty通过 Observer类监听data中的数据,compile类的话解析html中的数据格式(input/{{}}),dep起一个数组作用,收集订阅者,订阅者就是所谓的watcher负责订阅数据变化并且绑定更新数据同时,如果页面中的数据发生改变,通过defineProperty数据劫持的set方...
2019-08-26 19:22:36 175
原创 CORS 跨域
鸣谢 https://juejin.im/post/5c0a55e76fb9a049ef2665baCORS 跨域资源共享正常发送请求正常情况下前端网址为 http://127.0.0.1:58009 向后端http://localhost:8888/ 发送请求// index.htmlvar xhr = new XMLHttpRequest()xhr.open('GET', '...
2019-08-22 17:03:56 196
原创 有过期时间的登录功能~
一直都想尝试一下登录功能的过期时间, 虽然只是一个普普通通的功能,但是还是学到了很多!!因为都是看别人怎么弄啊方法啥的 没有机会自己动手实践,这次和后端同学配合了一下~~开心首先是后端返回了token前端获取到token后,将token扔到axios发送的请求头中,以保证每次发送请求,token都可以在头部随着请求一起发给服务端(即采用请求头携带token的方式)同时扔到window....
2019-08-22 08:41:22 2709
原创 使用debounce优化项目
这个主要使用在搜索功能里,由于我们每次要在input输入框输入值,每次值发生变化,我们都需要去发送请求,就浪费了很多流量,所以想到了防抖!!目的就是为了在输入一个值后,当连续不断的输入值,触发方法时,都不会重复触发方法。等到最后一次输入完值后,间隔规定的时间后,触发方法_debounceexport function debounce (func, delay) { let ti...
2019-08-15 22:56:52 537
原创 新的一次对this的理解~
阅读 https://juejin.im/post/5d51feaef265da039005219e#heading-18 所得感觉每一次学习以前学过的知识都可以获得到一些新的东西,很开心 在又一次详细的学习后, 做了复盘 文章都是复习时自己的想法就直接写了进来 这次学习对bind的理解加深了一些 原来bind一旦指定它上下文就无法改变, 还有箭头函数中的this也很奇妙!this指向当...
2019-08-15 16:17:36 172
原创 canvas
学习 https://juejin.im/post/5986d6e1f265da3e241e8cdb#heading-18 所得Canvas基本学习什么是Canvascanvas是HTML5新定义的标签,通过使用脚本来绘制图形。标签只是图形容器,相当于一个画布,canvas本身没有绘图能力。默认情况下,canvas没有边框和内容。默认为300*150的画布。可以通过修改width和he...
2019-08-10 15:28:04 239
转载 请求头和响应头
1)请求(客户端->服务端[request])GET(请求的方式) /newcoder/hello.html(请求的目标资源) HTTP/1.1(请求采用的协议和版本号)Accept: /(客户端能接收的资源类型)Accept-Language: en-us(客户端接收的语言类型)Connection: Keep-Alive(维护客户端和服务端的连接关系)Host: localho...
2019-08-04 16:21:57 175
转载 浏览器与Node的事件循环(Event Loop)有何区别?
一、线程与进程1. 概念我们经常说JS 是单线程执行的,指的是一个进程里只有一个主线程,那到底什么是线程?什么是进程?官方的说法是:进程是 CPU资源分配的最小单位;线程是 CPU调度的最小单位。这两句话并不好理解,我们先来看张图:进程好比图中的工厂,有单独的专属自己的工厂资源。线程好比图中的工人,多个工人在一个工厂中协作工作,工厂与工人是 1:n的关系。也就是说一个进程由一个...
2019-07-19 15:36:40 188
原创 subStr/substring/slice
substrsubstr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。stringObject.substr(start,length)返回一个新的字符串 包含从start开始的length长度的字符;如果没有指定length,则返回从start到结尾的字符substringsubstring() 方法用于提取字符串中介于两个指定下标之间的字符。string...
2019-07-10 13:10:41 105
原创 半透明边框
body { background: pink; } .box { border: 10px solid hsla(0,0%,100%,.5); background:blue; width: 10e...
2019-07-01 20:58:38 153
原创 max-height 实现任意高度元素展开收起
html <input id="check" type="checkbox"> <div class="element"> <div class="box"></div> </div> <label for="check" >展开</...
2019-07-01 10:30:16 562
原创 css 中可以让文字在垂直和水平方向上重叠的两个属性是什么?
line-height :设置大小比字体大小 小 即可实现垂直方向上重叠letter-spacing : 设置成负值即可实现水平方向上重叠
2019-06-30 19:57:54 2417
原创 CSS垂直水平居中
CSS垂直水平居中定宽高元素居中①absolute + 负margin(需要知道子元素的宽高)②absolute + margin auto(需要知道子元素的宽高)③absolute + calc(需要知道子元素的宽高)html代码 <body> <div class="parent"> <div class="child size">&...
2019-06-27 19:48:00 195
原创 CSS继承属性
有继承性的属性:1、字体系列属性font:组合字体font-family:规定元素的字体系列font-weight:设置字体的粗细font-size:设置字体的尺寸font-style:定义字体的风格font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为font-stretch:允许你使文字变宽或变窄。所有主流浏览器都不支持font-size-...
2019-06-24 20:20:34 5205
原创 模块化学习
模板系统——基本规则什么是模块化CommonJS 模块规范在Node中的JavaScript还有一个很重要的概念,模块系统模块作用域使用require放来用来加载模块使用exports接口对象用来导出模块中的成员加载required语法:var 自定义变量名称 = require('模块');两个作用:执行被加载模块中的代码得到被加载模块中的exports导出接口...
2019-06-23 15:02:24 458
原创 学习node.js的第四天
1. express// 1.引包var express = require('/express')//2.创建服务器应用程序,即http.createServervar app = express()//公开指定目录app.use('/public/',express.static('./public/'))app.get('/',function(req,res){ ...
2019-05-14 21:43:51 93
原创 学习node.js的第三天
nodeAPT辅助测试cmd node 就可以进行APTctrl+c 2次art-template 的模板语法{{each 数组}}<li>{{$value}}</li>{{/each}}forEach 和 each原生forEach;['苹果','香蕉','桃子'].forEach(function(item,index){ console...
2019-05-05 23:59:55 256
原创 学习node.js第二天
JavaScript Standard Style Airbin Standard Style当采用无分号的代码风格的时候,需要注意以下情况当一行代码以( [ ` 开头时,要在前面补上分号 避免一些语法解析错误。;(function(){ })();['苹果','香蕉'].forEach(function(item){ })` 是es6中新增的一...
2019-05-03 00:15:41 120
原创 学习node.js的第一天
写文件fs.writeFile('./data/你好.md','大家好,给大家介绍一下,我是node.js',function(error){ if(error){ console.log("文件写入失败"); }else{ console.log("文件写入成功"); }})第一个参数:文件路径第二个参数:文件内容第三个参数...
2019-05-02 00:48:45 134
原创 node.js连接mongodb
简单的测试一下nodeapp.js// 引入express模块var express = require('express');var app = express(); //创建express的实例app.get('/', function(req, res){ res.send('Hello,myServer'); //服务器响应请求});app.listen(300...
2019-04-27 10:42:37 104
原创 -webkit-text-stroke实践
挂一个网站 可以查看属性的可用https://caniuse.com/#search=text-stroketext-stroke 是 text-stroke-width 和 text-stroke-color 的合体描边宽度和描边颜色 只能实现描边,不支持点线或者虚线与border比较对于text-stroke属性,我们无法指定描边的类型,只能是实线描边,不支持点线或者虚线,...
2019-04-26 10:18:40 3056
原创 git指令记录
由于有道云笔记不是会员md文件无法记录图片…然鹅我还是想放一下图片 所以就放在这里传一个已经写好的本地仓库给github初步需要上传到github上的文件 git initgit status 查看状态git add . 添加所有文件git commit -m “” 添加备注内容git remote add origin git@… 与git上仓库上给的SSH相关联git p...
2019-04-25 21:18:23 125
转载 git 拉取远程分支到本地
转自 https://blog.csdn.net/carfge/article/details/79691360步骤:1、新建一个空文件,文件名为hhhh2、初始化git init3、自己要与origin master建立连接(下划线为远程仓库链接)git remote add origin git@github.com:XXXX/nothing2.git远程仓库链接在gith...
2019-04-25 16:34:03 190
原创 自适应rem布局
自适应处理:使用rem布局的时候,为了兼容不同的分辨率,我们应该要动态的修正根字体的大小,让所有的用rem单位的子元素跟着一起缩放,从而达到自适应的效果一般情况在项目的最前面加载一段js来修改html的font-size,针对不同分辨率计算font-size,监听浏览器更改 html的font-size假设设计稿是宽750px来做的,书写css方便计算考虑,根节点的font-siz...
2019-04-24 16:56:27 141
原创 区分rem和em
rem单位如何转换为像素值当使用rem单位,他们转化为像素大小取决于页根元素的字体大小。即html元素的字体大小。根元素字体大小乘以rem值。根元素(html) 字体大小为16px,10rem将等同于160px;em单位如果转换为像素值当使用em单位时,像素值将是em值乘以使用em单位的元素的字体大小。<div class="tenempadding"></...
2019-04-23 19:33:27 140
原创 v-model 语法糖 理解
前言:面试的时候,面试官说希望我们能不局限于知道怎么用,而是去了解为什么要用,怎么去实现,所以想来研究一下这个语法糖.https://www.yuque.com/littlelane/vue/iqevua一、首先是v-model作用v-model主要作用是可以实现在表单 、 及 标签元素上创建双向数据绑定。二、初步改造v-model <div id="app"&...
2019-04-21 14:47:51 1768
原创 了解vue的响应式原理
如何追踪变化当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是 Vue 不支持 IE8 以及更低版本浏览器的原因。这些 getter/...
2019-04-21 10:33:49 122
原创 了解seo
听一个老师讲课提到seo,大概理解seo可能是优化…于是就想baidu一番做个笔记~seo Search(搜索) Engine(引擎)Optimization(优化),即搜索引擎优化seo是基于搜索引擎营销的一种网络营销方式,通过seo技术,提升网站关键词排名,获得展现,继而获得曝光,继而获得用户点击,继而获得转化。seo分类细化来看,所有有利于网站关键词排名提升的点,都...
2019-04-20 22:07:13 272
原创 Vue组件之间的通信(上)
参考: https://juejin.im/post/5c77c4ae518825407505e262本文提到三种组件之间通信的方式父子组件之间通信props 和 $emit 适合直接父子关系的通信$attrs 和 $listeners 可以进行爷孙之间的通信同级组件的通信中央事件总线的方式const EventBus = new Vue();Vue.proto...
2019-04-19 14:27:51 190
原创 实现网页左右两边盒子高度自适应布局
方法一 margin-bottom padding-bottom *{ margin: 0px; padding: 0px; list-style:none; } .all{ overflow: h...
2019-04-18 20:28:58 1317
原创 "resetting" 和 "normalizing" CSS
这里贴上resetting 和 normalizing 的源码githubhttps://github.com/necolas/normalize.csshttps://github.com/shannonmoeller/reset-css/blob/master/reset.css源码如下normalize.css * 1. Correct the line height ...
2019-04-14 19:23:59 281
原创 DOCTYPE(文档类型)
DOCTYPE(文档类型)的作用是什么简单来说就是告诉我们的浏览器采用什么方式渲染页面DOCTYPE是document type(文档类型)的简写,它必须放每个XHTML页面在所有的标识文档和代码之上。它是用来说明你的XHTML或HTML是什么版本.需要注意的是,在HTML5中,DOCTYPE是不区分大小写;不过对于XHTML、Polyglot HTML,DOCTYPE这几个字母需要...
2019-04-14 00:29:01 485
原创 防抖,节流
防抖和节流的作用都是防止函数多次调用。区别在于:假设一个用户一直触发这个函数,且每次触发函数的间隔小于wait,防抖的情况下只会调用一次;而节流的情况会每隔一定时间(参数wait)调用函数防抖防抖指触发事件后在n秒内函数只能执行一次,如果在n秒内又触发了事件,则会重新计算函数执行时间在滚动事件中需要做个复杂计算或者实现一个按钮的防二次点击操作,需要通过函数防抖动实现防抖函数分为非立即...
2019-04-11 14:09:43 179
原创 JavaScript执行机制初步理解
参考:https://juejin.im/post/59e85eebf265da430d571f89setTimeoutsetTimeout 异步可以延时执行setTimeout(() => { task();},3000)console.log('执行console');setTimeout是异步的,应该先执行console.log这个同步任务。执行结果:...
2019-04-09 20:37:59 330
原创 axios小demo
一、初步axios.html <script src="https://unpkg.com/vue"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <div class="container" id="app">...
2019-04-07 14:32:52 1486 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人