自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS函数柯里化

什么是柯里化?柯里化,即Curring。是指将一个接收多个参数的函数改造成接收单个参数的函数。这个函数每次返回一个新的函数来处理下个参数,类似fn(param1)(param2)(param3)的形式,直到最后一次执行时输出希望的结果。举个具体点的例子。两个变量相加改造成柯里化函数,当然这种写法不具有通用性,后面改造。 function add(x,y) { return x...

2019-08-18 15:59:25 350

原创 JavaScript 闭包和作用域链

又重新回顾了下闭包的知识什么是闭包?根据《JavaScript高级程序设计》一书中的定义,闭包是指有权限访问另一个函数作用域中的变量的函数。创建闭包的常见方式就是在一个函数内部创建另一个函数。...

2019-07-21 17:38:40 409

原创 JavaScript数组去重

整理了一些数组去重相关的知识例1定义一个简单的一维数组 let myArr = [0,1,3,2,4,3,3,4,5,6,1,7,8];方法一使用ES6的Set let myArr = [0,1,3,2,4,3,3,4,5,6,1,7,8]; let result = [...new Set(myArr)].sort((a, b)=>{ return a...

2019-07-10 15:09:35 266

原创 CSS float浮动详解

整理一些对于float的理解一、float的定位方式当一个元素浮动之后,它会被移出正常的文档流,然后向左或者向右平移,一直平移直到碰到了所处的容器的边框,或者碰到另外一个浮动的元素。同样是脱离正常的文档流,float和absolute还是有区别的,float定位的元素允许文本和内联元素环绕它。像下面这个例子:<!DOCTYPE html><html lang="...

2019-07-04 14:45:55 924

原创 BFC(Block Formatting Context)块级格式化上下文

平时用到的一些布局方法,例如给父元素加overflow:hidden清除子元素浮动,例如给同级的两个块级元素一个加上浮动,另一个加上overflow:hidden来实现一侧定宽,一侧自适应。这些都是对BFC的应用。BFC规定了内部的块级元素的布局方式,默认情况下只有根元素(即body)一个块级上下文。BFC布局规则浮动元素会计入BFC的高度。属于同一个BFC的两个相邻的块级元素会发生...

2019-07-02 13:48:31 436

原创 布局-左侧固定宽度,右侧自适应

一种非常常见的布局需求,简单归纳下多重实现方式。先来个简单的html结构<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> &...

2019-07-01 17:31:37 452

原创 CSS动画

CSS的动画效果主要是由transition和animation实现一、transition

2019-06-30 23:59:25 373

原创 CSS中position详解

一些关于定位和叠加的理解一、position属性position有5个值,分别为static,relative,absolute,fixed,sticky。1.1 staticstatic是position的默认属性,元素会按正常的文档流进行排序,不会受到top,bottom,left,right的影响。1.2 relativerelative相对定位的元素会较正常文档流中的位置进...

2019-06-26 15:35:09 23444

原创 js遍历对象顺序问题

遍历对象的方法常用的方法是通过Object.keys()或for…in去遍历对象的key值,然后通过key值取到对应的value值,这两种方法获取到的key的顺序是一样的。例如:let x = { name:"Aiden", age:100, sex:"male", 2:"2", 1:1, "0":123, 0.1:333};Object.keys(x).f...

2019-06-11 14:45:31 7914 1

原创 js深度拷贝

数据类型深浅拷贝的问题根源是js中不同的数据类型在内存中的存储方式不一样。1、基本数据类型number、boolean、string、null、undefined、symbol基本数据类型是以名值得形式存储在栈内存中的。let a = 1;NameValuea1进行赋值操作时会新开辟一片栈内存存储新的名值。let a = 1;let b = a;...

2019-04-11 10:46:43 1568 1

原创 rem布局的实现

什么是rem?rem是指相对于html根元素字体大小的一个比例单位。例如html默认的font-size是16px,此时你想把元素的高度定义为32px就可以写height:2rem。这里需要区分一下rem和em,这是两个不同的单位。em是相对于父元素的大小比例,rem是相对于根元素的。为什么要使用rem?rem是一种适配各种设备尺寸的一种布局方案。只要在页面每次加载时获取当前设备的尺寸,重...

2018-11-06 11:29:18 555

原创 自定义input type=checkbox

一个比较常见的需求,自定义checkbox那个箭头的样式核心思想是用一个lable和checkbox绑定,将css加到label上,然后隐藏原来的checkbox先写个checkbox加label,给label前加个伪元素 &lt;div&gt; &lt;input type="checkbox" id="test"&gt; &lt;label fo...

2018-11-06 10:23:42 5618

原创 CSS画三角箭头

使用css来绘制一个简单的三角箭头使用了border这个属性,首先来看正常情况下的border&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/title&gt;&lt;/

2018-11-05 15:09:42 593

原创 Vue页面切换滑动效果

试着用Vue做了个页面切换时滑动的效果,如下示例源码 https://github.com/Aiden1204/VueAnimateDemo这里使用了Vue的transition组件,具体可见文档https://cn.vuejs.org/v2/guide/transitions.html直接看实现过程先在本机安装vue-clinpm install -g @vue/cli初始...

2018-11-01 17:49:27 11148 7

原创 前端常见面试问题整理

阐述清除浮动的几种方式使用伪元素:after.clearfix:after{ content: &amp;amp;amp;amp;quot;020&amp;amp;amp;amp;quot;; display: block; height: 0; clear: both; visibility: hidden; }在浮动元素的后一个元素上添加clear:both;或者在后面加一个空元素,再加上clear:both;

2018-10-24 16:06:53 411

原创 js继承的相关问题

整理了一些js继承相关的内容使用call或apply继承(构造继承)call和apply的作用是一样的,都是改变一个函数运行时this的指向,只是两者接受的参数有些差别,这里就不多说了。 function parent() { this.name = 'Aiden'; this.say = function (){ console....

2018-10-18 16:02:47 228

原创 CSS link和@import的区别

整理了下关于link和@import的区别在页面中CSS的引入方式有三种1)内联样式&lt;p style="color: sienna; margin-left: 20px"&gt;2)内部样式&lt;head&gt;&lt;style type="text/css"&gt; hr {color: sienna;} p {margin-left: 20px;} bo...

2018-10-16 11:18:26 367

原创 js判断对象是否为空

整理了几个js判断对象是否为空的方法1)将对象转为字符串 var x = {}; var y = { name:'xxx', age:20 }; function test(obj) { var flag = JSON.stringify(obj); if(flag === '{}'){ return true; }else { ...

2018-10-15 17:09:56 2294

原创 js事件委托

整理了一些关于js事件委托的内容事件委托又称事件代理,主要利用了js事件冒泡的性质。在父元素上绑定一个事件,对子元素操作时,事件会冒泡到父元素上被处理。作用1)减少对DOM的操作次数。比如一个ul里有10个li,如果直接对li增加click事件,对DOM就是操作10次,而使用事件委托,只对ul绑定事件,对DOM操作就是1次。DOM操作次数越多,页面交互就绪前的时间就越多,所以用事件委...

2018-10-15 15:12:06 231

原创 CSS 文本过长时显示…

一个比较常见的需求,当一段文本过长时,不换行,显示…&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;test57&lt;/title&gt;&lt;/head&gt;&lt;

2018-10-15 13:58:35 2324

原创 ios环境下页面的click事件失效问题

ios环境下页面的click事件失效问题整理了下曾经在ios上遇到过的一个坑当通过事件委托对document或body绑定click事件时,若实际点击的元素原来是不可点击的(如p,span,div等),ios环境下这个click事件不会被触发。例如下面这段代码,在PC上调试时可以正常触发,到ios的safri中测试就不行。&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;g...

2018-10-15 11:04:23 516

原创 前端常用居中方法

前端常用居中方式 整理了一些前端常用的居中方法,有错误的地方请大家多多指教。水平居中transform(css3).parent { position: relative;}.child { position: absolute; left: 50%; transform: translateX(-50%);}fl...

2018-09-12 13:50:02 2132

原创 前端缓存相关

前端缓存复习了一下前端常用的缓存相关知识顺便做了一次整理,有错误的地方还请大家多多指教。HTTP缓存浏览器缓存1. HTTP缓存 HTTP缓存是第二次请求资源开始的。 第一次请求时,资源正常返回,status为200,浏览器拿到资源的Response Header,其中包含了缓存的参数。 第二次请求时,浏览器先根据参数判断是否击中强缓存,击中则status...

2018-09-09 15:17:38 399

空空如也

空空如也

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

TA关注的人

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