Lan Zhenxu

Be yourself.

nodejs与浏览器

区别

浏览器 与node对标 nodeJs 没有dom 全局对象 nodejs是global,浏览器是window 有自己的模块(http,os,fs) node事件循环 nodeJs的运行机制: V8引擎解析js 调用NodeAPI 调用c++ libuv,将不同的任务分配给不同的线程,形成事件循环,已异步的方式返回结果给V8引擎 v8引擎把结...

encodeUrl

url加密

encodeURL 不会把本身属于url的特殊字符进行编码,例如冒号、正斜杠、问号和井字号 encodeURLComponent 对它发现的任何非标准字符进行编码 应用场景 xss攻击防范,对url进行加密 var uri="http://www.jxbh.cn/illegal value.htm#start"; console.log(encodeUR...

Vue-Router

路由原理

Vue-Router路由 前端路由的原理就是改变url但是不刷新页面即不向后台请求,只更新局部视图。 两种方式实现路由 Hash — 利用 URL 中的hash(“#”) 利用 History interface 在HTML5中新增的方法。 不同点 hash模式下路由中出现‘#’ Hash模式 hash(“#”) 的作用是加载 URL 中指示网页...

rgb与16进制颜色转换

颜色值

提纲 javaScript语言中通过parseInt()和toString()进行数字与字符串之间的转换,这种相互间的转换在许多方面都有应用场景。 字符串转数字: parseInt(str, rad); 数字转字符串: toString(rad); 注意 一般通常用paseInt()的时候不写第二个参数,即不指定进制转换的基数时,有可能不...

git命令

面试常考

撤销提交 git reset –hard HEAD~1 修改提交 git commit --amend 切换分支 git checkout branckname git fetch与pull git pull=git fetch +git merge cherry-pick 把某个分支的提交复制到另一个分支 rebase 和 merge r...

Promise串行和并行

串行和并行

串行、并行 串行 定义:一个接一个的执行 function f1(){ const p1 = new Promise(function (resolve, reject) { setTimeout(() => reject("err"), 3000) }) return p1; } function f2(){...

地理数据可视化

canvas/svg/webgl

svg 用xml技术来描述二维图形的语言 svg其实诞生的比canvas要早 所绘制的图形是矢量图,所以不会失真 SVG 适用于矢量图,低数据量低绘制频率的场景,如图形、图表; 浏览器 js 配有相应的操作api,可以不再依赖其他的API或组件而直接绘图,相当于2D的API。 canvas ...

ObjectDefineProperty缺点

双向绑定vue2.0的双向绑定缺点

主要的缺点表现在两方面: 不能监听数组的变化 无法检测到对象属性的新增或删除

闭包

应用场景

闭包,应用场景 模仿块级作用域 eg1: for(var i=0;i<10;i++>){ (function(e){ console.log(e) })(i) } eg2: (function(){ var date=new Date() })() //外部不会访问到date 私有变量 eg0: ...

斐波那契非递归

实现代码

斐波那契数列-非递归实现 function f(n){ if(n==0)return 0 if(n==1||n==2){ return 1 } let a=1,b=1,c=0 while(n>2){ c=a+b a=b b=c n-- }...