- 博客(11)
- 收藏
- 关注
原创 对象数组去重
对象去重?伪命题吧,但是面试时还真有过,但是当时脑抽了,没能写出来,现在来补充一下,凑合能用function isObj(obj){ // 宽松判断 return typeof obj === 'object'}function objToString(obj){ return JSON.stringify(sortKey(obj)) // JSON.stringify是...
2019-03-06 13:52:29 265
原创 webkit内核渲染原理
当用户输入URL之后,浏览器的网络资源模块就会发网络请求并建立连接,从而加载URL对应的html文档 这时Browser进程(浏览器唯一主进程)就会分叉一个Render进程,然后Render进程又会产生一个HTMLParserThread去专门负责html的解析 在网络模块的ResourceLoader类或者CacheRawResource类就会将收到的数据传给HTMLDocumenParse...
2019-01-31 00:13:54 615
原创 浏览器重排重绘
什么是重排、重绘由于某个元素的布局几何属性发生了比变化而导致了其他元素位置的变化,浏览器就会使渲染树中受到影响的部分失效,并重新构造新的渲染树,这个过程就成为浏览器的重排操作;重排之后必会触发重绘,浏览器会重新绘制受影响的部分到屏幕上,此过程就是浏览器的“重绘”何时会触发重排当页面布局的几何属性改变时就需要重排添加或删除可见的DOM元素 元素的位置改变 元素的尺寸改变 内...
2019-01-30 23:53:48 254
原创 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 336
原创 jsonp的介绍与其优缺点的例举
#跨域的介绍 跨域问题源于浏览器的“同源策略“的限制,所以所谓的跨域问题是针对于(B/S)端而言的,而jsonp正是利用script标签的src属性来实现的(因为此特性不在“同源策略”内,浏览器对此不做拦截)了解更多jsonp的实例。# 优点:能很好的解决跨域问题。 速度快 。(相对与动态脚本注入与XHR的性能来说,应该是客户端获取并解析数据最快的方法;参考文献--《...
2018-09-19 22:40:05 385
原创 JS闭包的理解及其优缺点
“闭包”形成的几种说法:初级理解---《js高程》(“小红书”):闭包是指有权访问另一个函数作用域中变量的函数。(其认为闭包是一个函数) 中级理解---《 You don't know JS 》(“小黄书”):闭包是导致函数调用栈不能正常销毁的一种持续引用 (这种引用一般体现于某个函数体内其他函数的声明) 高级理解---形成闭包的真正原因是:作用域未能正常释放,变量的引用标记持续存在,即使...
2018-09-09 23:59:41 378
原创 jsonp实例(仿百度首页效果)以及介绍前后台之间是如何配合的
咱们先上效果图哈(真能搜索的呦、功能齐全) gitbub demo链接(小时候写的demo、代码粗糙、那时候OOP、OLOO思想还不够蒂固、性能优化也没注意、仅供大家参考哈!!!)# 前端关键代码:(借用百度的api:https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd="+data+"&cb=myJsonp)wd=“要...
2018-09-09 21:36:35 256
原创 js获取querystring(封装)
/** *若没有传入url *就获取本地location.search *并且以对象的形式返回 * */function querystring2obj(url){ var queryArr = (url && url.substr(url.indexOf('?') + 1).split('&')) || loc...
2018-09-05 22:36:01 1363
原创 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 1659
转载 Emmet 使用缩写语法快速编写 HTML、CSS 提高开发效率
看到网上有这篇文章之后,我也懒得写了,挺棒的转载自:https://segmentfault.com/a/1190000007812543很多主流编译器自带这个插件且与css的选择器语法有不少相同之处,极易上手。缩写Emmet使用特殊的表达式Abbreviations,也就是缩写:这种特殊的表达式会被Emmet解析并转义成结构化的代码块。Emmet使用类似CSS选择器的语法来描述元...
2018-08-12 14:49:17 498 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 51360 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人