自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 搭建webpack4+React+TypeScript

概念Entry:指定 webpack 开始构建的入口模块,从该模块开始构建并计算出直接或间接依赖的模块或者库Output:告诉 webpack 如何命名输出的文件以及输出的目录Loaders:由于 webpack 只能处理 javascript,所以我们需要对一些非 js 文件处理成 webpack 能够处理的模块,比如 sass 文件Plugins:Loaders将各类型的文件处理成 w...

2019-06-06 18:55:13 904

原创 js数据类型转换

抽象值操作TostringtoString() 方法返回一个表示该对象的字符串。每个对象都有一个toString()方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。默认情况下,toString()方法被每个Object对象继承。如果此方法在自定义对象中未被覆盖,toString() 返回 “[object type]”,其中type是对象的类型。todo...

2019-06-06 18:52:07 630

原创 js数据类型

基本类型numberstringnullundefinedSymbolBigIntBoolean引用类型object区别基本类型不可变性存储在栈中值的比较栈存储的值大小固定空间较小可以直接操作其保存的变量,运行效率高由系统自动分配存储空间引用类型存储在堆中引用的比较堆存储的值大小不定,可动态调整空间较大,运行效率低无法直接操...

2019-06-06 18:50:06 470

原创 HTML全局属性

全局属性是所有HTML元素共有的属性; 它们可以用于所有元素,即使属性可能对某些元素不起作用。dir枚举属性指示元素文本的方向性。可以通过HTMLElement.dir来获取/设置元素的方向ltr,这意味着从左到右,用于从左到右书写的语言(如英语);rtl,这意味着从右到左,用于从右到左书写的语言(如阿拉伯语);auto,让用户代理决定。它使用基本算法,因为它解析元素内的字...

2019-06-06 18:48:40 1259

原创 DOCTYPE作用

<!DOCTYPE>不是 HTML 标签;指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。HTML5不基于SGML,所以不需要引用DTD。SGML标准通用标记语言(Standa...

2019-06-06 18:47:05 173

原创 meta标签的用法

元数据即描述数据的数据meta一个html文件是一个数据,meta标签就是用来描述该文件的元数据位于文档的头部,不包含任何内容,仅提供页面的说明,关键字等数据,服务于浏览器,搜索引擎和其他网络服务标签的属性定义了与文档相关联的名称/键值对http-equiv: 把content属性关联到HTTP头部content-typeexpiresrefreshset-cookie...

2019-06-06 18:39:52 1845

原创 js检测数据类型的四种方法

typeof只能检测出undefined,string, number, boolean, symbol, function,object返回值基本类型,除 null 以外,均可以返回正确的结果。引用类型,除 function 以外,一律返回 object 类型。null ,返回 object 类型。function 返回 function 类型。原理js 在底层存储变量的时候...

2019-06-06 16:11:48 2463

原创 作用域

作用域作用域是指程序源代码中定义变量得区域,包含了其中变量,常量,函数等等定义信息和赋值信息。作用域规定了如何查找变量。js采用词法作用域(即在函数定义的时候就决定了)相对的动态作用域(在函数调用的时候才决定) var value = 1; function foo() { console.log(value); } function bar(){ ...

2018-09-11 21:34:54 1213

原创 js数组去重

参考https://github.com/mqyqingfeng/Blog/issues/27 双层循环let arr = [1, 2, '1', 3, 2];// 双重循环let arr1 = []for (let i = 0; i &amp;lt; arr.length; i++) { for (var j = 0; j &amp;lt; arr.length; j++) { if(...

2018-09-09 12:37:30 345

原创 继承

我们都知道继承是最让人开心的事了,想想不用动手就能享受父辈的成果。真让人开心。那显而易见,老李家的孩子不可能继承邻居老王的财产,除非一种情况, O(∩_∩)O~呵呵, 这是为什么呢?当然是因为亲情关系了。言归正传,在js的世界中想要继承,肯定也存在着一种关系。那就让我们先来看看这层关系!!!在原型篇中我们知道。由于js里皆对象,所以__proto__属性也就人人都有.而这就形...

2018-08-26 15:02:38 157

原创 原型

先来看一个十分有意思的问题:先有鸡还是先有蛋?思考过后再想一下这个问题Function.__proto__ === Function.prototype//true好的,先保留这个问题,继续看function P(){};const p = new P();p.__proto__ === P.prototype//这个我相信很多人都知道,因为我们见到的就是这样的...

2018-08-22 23:39:28 243 1

原创 浏览器渲染

浏览器渲染参考一一天突然有人提起,白屏是什么原因,js会影响首屏吗,git为什么会出现html裸奔的情况,这一切一切是为什么呢?好的,我们先来了解一下几个关键名词: 关键渲染路径是指与当前用户操作有关的内容。例如用户刚刚打开一个页面,首屏的显示就是当前用户操作相关的内容,具体就是浏览器收到 HTML、CSS 和 JavaScript 等资源并对其进行处理从而渲染出 Web 页面...

2018-08-16 10:49:05 2265 3

原创 websocket

参考一参考二WebSocket是一种在单个TCP连接上进行全双工通讯的协议。&amp;amp;nbsp;ok,既然是双向通信,我相信你们一定玩过轮询,好吧,没玩过的看下面:轮询(polling):客户端按规定时间定时像服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接。那聪明的人就想到了我可以用定时器来固定时间向服务器获取数据,好的,这就是短轮询场景再现 客户端...

2018-07-30 23:00:20 420

原创 同源策略+跨域整理

参考1同源策略最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页”同源”。所谓”同源”指的是”三个相同”。 协议相同 域名相同 端口相同 URL 说明 是否允许通信 http://www.a.com/a.js     http://www.a.com/b.js 同一域名下 允许 ht...

2018-07-25 14:20:15 391

原创 用户界面样式

参考一参考二参考三系统字体 css2定义了6个系统字体关键字,如下: 1.caption 由标题控件使用的字体样式,如按钮和下拉控件 2.icon 操作系统图表标签使用的字体样式,如硬盘驱动器,文件夹和文件图标 3.menu 下拉菜单和菜单列表中文本使用的字体样式 4.message-box 对话框中文本使用的字体样式 5.small-caption 对话框中文...

2018-07-17 20:19:25 840

原创 元素显示隐藏

隐藏元素方法{ display: none; /* 不占据空间,无法点击 */ }{ visibility: hidden; /* 占据空间,无法点击 */ }{ position: absolute; clip:rect(1px 1px 1px 1px); /* 不占据空间,无法点击 */ }{ position: absolute; top: -999em; /* 不占据空间,无...

2018-07-16 20:55:42 1994

原创 http

参考1参考2参考3缓存缓存是一种保存资源副本并在下次请求时直接使用该副本的技术为什么要缓存缓解服务器压力(不用每次去请求资源);提升性能(打开本地资源速度当然比请求回来再打开要快得多);减少带宽消耗(我相信你可以理解);缓存在宏观上可以分成两类:私有缓存和共享缓存。共享缓存就是那些能被各级代理缓存的缓存(咋觉得有点绕)。私有缓存就是用户专享的,各级代理不能缓...

2018-07-10 18:08:10 566

原创 js基本类型

参考:http://blog.csdn.net/wkyseo/article/details/51484506 参考: https://www.cnblogs.com/phillyx/p/5603738.html 参考:http://blog.csdn.net/liangshiquan1/article/details/49909825 javascript的数据类型可以分为两种:原始类型和...

2018-03-11 22:31:24 612

翻译 文字截断

原文地址相信很多人再写标题的时候都碰到过因为太长而影响布局,但是却没有统一css属性实现标准,需要用到一些奇淫妙计来实现,一般来说,在做这样文字截断效果时我们更多是希望:兼容性好,对各大主流浏览器有好的支持 响应式截断,根据不同宽度做出调整 文本超出范围才显示省略号,否则不显示省略号 省略号位置显示刚好单行文本截断(text-overflow)文本溢出我们经常用到的应...

2018-03-10 15:09:31 420

翻译 grid布局

了解gridgrid栅格布局,二维布局模块,具有强大的内容尺寸和定位能力,适合需要在两个维度上对齐内容的布局,Grid Layout 是一种基 于二维网格的布局系统,旨在完全改变我们设计基于网格的用户界面的方式,弥补网页开发在二维布局能力上的缺陷 二维布局方式: 可以按照行列方式排列内容,把页面划分为几块。指定不同内容区块的大小,位置和层级   和table2.0的区别: ...

2018-03-08 19:19:25 507

原创 CSS一些基础知识

参考: https://juejin.im/post/59dca82051882578db27b1d6包含块概念 每个盒子会变成他后代盒子的包含块,后代盒子的大小和位置会根据他包含块的矩形边框进行计算。但是不会受到包含块的限制,可能会溢出。确定包含块的方法 对于根元素、position=fixed的元素,包含块都是视窗如果元素是relative或者static,则是他最近的块...

2018-03-01 14:25:16 176

原创 BFC

相信有很多人都知道BFC和IFC,并且知道解决办法,但是可能还是讲不出来BFCBlock Formatting Context,中文直译为块级格式上下文。BFC就是一种布局方式,在这种布局方式下,盒子们自所在的containing block顶部一个接一个垂直排列,水平方向上撑满整个宽度(除非内部盒子自己建立了新的BFC)。两个相邻的BFC之间的距离由margin决定。在同一个BFC内...

2018-02-25 13:43:19 648

原创 Vue实例与生命周期

概念Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程,我们称这是Vue的生命周期。通俗说就是Vue实例从创建到销毁的过程,就是生命周期。data对象data属性是Vue实例的数据对象,可以绑定的是对象或者是函数。Vue会自动将data里面的数据进行递归转换成getter和setter,响应数据的变化,// 1. ...

2018-02-24 20:41:17 162

原创 vue小知识点(2)

导航守卫全局守卫router.beforeEach 比如再写网站的时候区分登陆页面和主界面,就可以添加全局守卫来进行判断。router.beforeEach((to, from, next) =&gt; { // ...})to: Route: 即将要进入的目标 路由对象from: Route: 当前导航正要离开的路由next: Function: 一定要调用该方...

2018-02-24 14:51:04 258

原创 Vue小知识点

动态路由动态路径参数(path: ‘/user/:id’), 一个『路径参数』使用冒号 : 标记。当匹配到一个路由时,参数值会被设置到 this.$route.params,可以在每个组件内使用。 几个路由渲染同个组件,组件实例会被复用,不过,这也意味着组件的生命周期钩子不会再被调用。匹配优先级 有时候,同一个路径可以匹配多个路由,此时,匹配的优先级就按照路由的定义顺序:谁先定义的,...

2018-02-23 22:03:37 263

原创 web安全整理(2)

HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放的RESTful API时,尽量避免采用HTTP Basic

2017-12-24 19:51:55 430

原创 web安全整理

XSS(Cross Site Script) 跨站脚本攻击,一般是指黑客通过在网页中注入恶意脚本,当用户浏览网页时,恶意脚本执行,控制用户浏览器行为的一种攻击方式。其中,XSS攻击通常分为反射型XSS、存储型XSS、DOM Based XSS三种。 存储型XSS 存储型XSS又被称为持久性XSS,它是最危险的一种跨站脚本,相比反射型XSS和DOM型XSS具有更高的隐蔽性,所以危害更大,因为它不

2017-12-23 21:08:18 605

原创 c语言函数

了解函数1.函数就是一系列C语句的集合,是可以重复调用的、功能相对独立完整的程序段。 2.主函数可以调用其他函数,其他函数也可以互相调用。 3.要注意一个C程序必须有一个且只能有一个main函数,无论main函数位于程序的什么位置,运行时都是从main函数开始执行的。 4.函数不能嵌套定义,也就是说一个函数不能从属于另一个函数。函数之间可以互相调用,但是任何函数不能调用main函数,main函

2017-11-28 19:16:00 310

原创 判断数组

var arr = [1, 2, 3]; console.log(arr instanceof Array); instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。 console.log(arr.constructor == Array); console.log(Object.prototype.toString.call(arr))

2017-10-21 15:09:40 216

原创 js事件冒泡,事件捕获,事件委托

先来张图理解一下事件冒泡,时间捕获 冒泡:当事件在某一DOM元素被触发时,例如用户在客户名字节点上点击鼠标,事件将跟随着该节点,继承各自的父节点冒泡穿过整个的DOM节点层次,直到它遇到依附有该事件类型处理器的节点,此时,该事件是onclick事件。在冒泡过程中的任何时候都可以终止事件的冒泡,在遵从W3C标准的浏览器里可以通过调用事件对象上的stopPropagation()方法,在Internet

2017-10-19 19:15:32 217

原创 js事件绑定

第一种html绑定: <button onclick="clickTest()">test</button> <script type="text/javascript"> function clickTest(){ console.log("test"); console.log(this); }

2017-10-18 15:56:41 195

原创 js深复制浅复制

浅复制先说下js的类型存储:基本类型的变量是存放在栈区的(栈区指内存里的栈内存),而引用类型的值是同时保存在栈内存和堆内存中的对象(引用类型的存储需要内存的栈区和堆区(堆区是指内存里的堆内存)共同完成,栈区内存保存变量标识符和指向堆内存中该对象的指针,也可以说是该对象在堆内存的地址。)接着来理解浅复制:对于字符串类型,浅复制是对值的复制,对于对象来说,浅复制是对对象地址的复制,并没 有开辟新的栈

2017-10-17 14:03:13 195

原创 js数组遍历的方法

第一种:for循环 :var arr = ["a", "b", "c"];for (var i = 0; i < arr.length; i++) { console.log(arr[i]);}这种方法每循环一次就必须检查一下数组长度,所以我们可以对其进行优化一下。var arr = ["a", "b", "c"];var length = arr.length;for (var i

2017-10-16 20:54:57 399

转载 KMP算法详解

内容转载来源:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html 字符串匹配是计算机的基本任务之一。

2017-09-27 17:22:30 320

原创 js原生瀑布流

瀑布流原理先看个实例:http://sc.chinaz.com/jiaobendemo.aspx?downloadid=201525352666 瀑布瀑布就是像瀑布一样,不过和瀑布不一样的是可以有多咧,每一列的宽度必须相同。在排列时从左往右排列,第一行排满之后,排列第二行时不在从左往右排列,而是找第一行高度最低的,并排在其下面。js:原理先获取网页和每列的宽度,算出一行可以放多少列,接着定义一个数

2017-09-15 21:35:39 170

原创 自己对闭包的一些小理解

在看闭包的时候,只知道闭包可以从外部读取局部变量,在一次小考核中发现自己根本不会用闭包,又赶紧恶补了一波什么是闭包 先说下官方对闭包的解释:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 看到这句话估计很多人和我一样是十分懵的,不要怕下面看波代码简单理解什么是闭包function a() { var i = 0; functio

2017-08-08 13:00:52 325 1

原创 最简单的原生js别踩白块儿

相信很多人都玩过别踩白块儿,也就不解释了,没玩过的可以看了这篇文章自己写一个去玩玩。首先说一下实现的思路我们是先确定行数,在行里面再分几个小块。我们可以根据自己的手机大小确定一下要放多少个小块,比如楼楼放的是4*4。接下来我们在里面添加小黑块并添加随机数,让黑块随机出现在一行的任意位置,完成之后我们让黑块下移并且在上面添加一行,一定记得要删除掉最下面跑出去的一行,其他的计分,加速,可以自己添加,

2017-07-29 09:43:22 514

原创 css瀑布流三种写法的区别

了解瀑布流的原理瀑布流呢,可以有多列,每一个item(单元格)的高度可以不相同,但是宽度必须一样.排列的方式是,从左往右排列,哪一列现在的总高度最小,就优先排序把item(单元格)放在这一列.这样排完所有的单元格后,可以保证每一列的总高度都相差不大,不至于,有的列很矮,有的列很高.这样就很难看了 神奇的columns: column-count: 设置的列数 column-width:设置的

2017-07-22 21:34:37 3251

原创 纯js实现轮播图

第一步了解轮播图的原理无缝轮播:将图片放到一排,通过改变left值来达到轮播的效果。 html: <div id="big"> <div id="k1"> <div id="k2"> <img src="i/u=1002469206,453798154&fm=26&gp=0.jpg" />

2017-07-22 16:47:47 561

转载 快速搞定flex布局

寻根溯源话布局一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平、垂直同时居中。记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮,顺理成章的联想到 Word 文档排版中用到的的左对齐、右对齐和居中对齐,然而很快就失望的发现 CSS 中并不存在 float: center 的写法,那么 text-align: center、verticle-align: cen

2017-07-17 17:40:56 443

空空如也

空空如也

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

TA关注的人

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