自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对象数组去重

对象去重?伪命题吧,但是面试时还真有过,但是当时脑抽了,没能写出来,现在来补充一下,凑合能用function isObj(obj){ // 宽松判断 return typeof obj === 'object'}function objToString(obj){ return JSON.stringify(sortKey(obj)) // JSON.stringify是...

2019-03-06 13:52:29 244

原创 webkit内核渲染原理

当用户输入URL之后,浏览器的网络资源模块就会发网络请求并建立连接,从而加载URL对应的html文档 这时Browser进程(浏览器唯一主进程)就会分叉一个Render进程,然后Render进程又会产生一个HTMLParserThread去专门负责html的解析 在网络模块的ResourceLoader类或者CacheRawResource类就会将收到的数据传给HTMLDocumenParse...

2019-01-31 00:13:54 589

原创 浏览器重排重绘

什么是重排、重绘由于某个元素的布局几何属性发生了比变化而导致了其他元素位置的变化,浏览器就会使渲染树中受到影响的部分失效,并重新构造新的渲染树,这个过程就成为浏览器的重排操作;重排之后必会触发重绘,浏览器会重新绘制受影响的部分到屏幕上,此过程就是浏览器的“重绘”何时会触发重排当页面布局的几何属性改变时就需要重排添加或删除可见的DOM元素 元素的位置改变 元素的尺寸改变 内...

2019-01-30 23:53:48 208

原创 Node.js实战技巧(一)常见异常及处理

几种常见异常:throw new Error('xxxx') // 手动或程序抛出的异常   JSON.parse(json) // 当我们不确定json是否合法时这里会经常发生SyntaxError异常 function(err,data){     res.write(dat)  // ReferenceError:dat is not defind } var Ev...

2018-12-18 23:54:37 302

原创 jsonp的介绍与其优缺点的例举

#跨域的介绍         跨域问题源于浏览器的“同源策略“的限制,所以所谓的跨域问题是针对于(B/S)端而言的,而jsonp正是利用script标签的src属性来实现的(因为此特性不在“同源策略”内,浏览器对此不做拦截)了解更多jsonp的实例。# 优点:能很好的解决跨域问题。 速度快 。(相对与动态脚本注入与XHR的性能来说,应该是客户端获取并解析数据最快的方法;参考文献--《...

2018-09-19 22:40:05 335

原创 JS闭包的理解及其优缺点

“闭包”形成的几种说法:初级理解---《js高程》(“小红书”):闭包是指有权访问另一个函数作用域中变量的函数。(其认为闭包是一个函数) 中级理解---《 You don't know JS 》(“小黄书”):闭包是导致函数调用栈不能正常销毁的一种持续引用 (这种引用一般体现于某个函数体内其他函数的声明) 高级理解---形成闭包的真正原因是:作用域未能正常释放,变量的引用标记持续存在,即使...

2018-09-09 23:59:41 326

原创 jsonp实例(仿百度首页效果)以及介绍前后台之间是如何配合的

咱们先上效果图哈(真能搜索的呦、功能齐全) gitbub demo链接(小时候写的demo、代码粗糙、那时候OOP、OLOO思想还不够蒂固、性能优化也没注意、仅供大家参考哈!!!)# 前端关键代码:(借用百度的api:https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd="+data+"&cb=myJsonp)wd=“要...

2018-09-09 21:36:35 221

原创 js获取querystring(封装)

/** *若没有传入url *就获取本地location.search *并且以对象的形式返回 * */function querystring2obj(url){    var queryArr = (url && url.substr(url.indexOf('?') + 1).split('&')) || loc...

2018-09-05 22:36:01 1291

原创 express静态资源拦截

var express = require('express')var app = express()var port = 4040// 通配符拦截所有路由请求,作逻辑判断app.use('*',function(req,res,next){ /*if(req.xxx){ // 逻辑代码 next() // 放行 }else{ ...

2018-08-23 18:04:46 1600

转载 Emmet 使用缩写语法快速编写 HTML、CSS 提高开发效率

看到网上有这篇文章之后,我也懒得写了,挺棒的转载自:https://segmentfault.com/a/1190000007812543很多主流编译器自带这个插件且与css的选择器语法有不少相同之处,极易上手。缩写Emmet使用特殊的表达式Abbreviations,也就是缩写:这种特殊的表达式会被Emmet解析并转义成结构化的代码块。Emmet使用类似CSS选择器的语法来描述元...

2018-08-12 14:49:17 423 1

原创 npm install --save 、--save-dev 、-D、-S 的区别与NODE_ENV的配置

备注:<=> 意为等价于;1、npm install <=> npm i     --save   <=> -S          --save-dev  <=> -D       npm run start <=> npm start  // 对应"scripts"里的"start"命令      少敲几下键

2018-07-15 19:01:22 51142 4

空空如也

空空如也

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

TA关注的人

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