javascript 高级 安全的函数作用域 立即调用的函数表达式(IIFE)是一种常见的JavaScript模式,用于创建私有作用域。IIFE是一个函数表达式,它在定义后立即调用。在IIFE中定义的变量和函数只能在IIFE内部访问,而不是在全局作用域中访问。这使得IIFE非常有用,因为它们可以帮助防止命名冲突和其他问题,同时仍然允许在全局作用域中…
树的遍历 遍历顺序是根据访问父结点的时序确定的 先序遍历 优先访问父结点,然后依次访问左子结点,右子结点 const traverse = (parentNode, callback) => { if (parentNode !== null) { // parent node callback(parentNode); // left no…
浏览器请求拦截 对 window.XMLHttpRequest 对象的重写 拦截请求入参(通过修改 send 方法修改) class XMLHttpRequestInter extends window.XMLHttpRequest { constructor(...args) { super(...args); } send(...params)…
字符编码 unicode 国际化,字符类型之间转换无损 UTF-8, UTF-16, UTF-32 类型 说明 UTF-8 最常用字符编码,一般由1-4个字节(对应ASCII编码的0-127),也可在5-6个字节(不在ASCII码中)表示,可变长度 UTF-16 每个字符占用2个字节,宽字符,大尾序,小尾序 UTF-32 每个字符占用4个字节 国标…
Scroll Dom元素滚动时触发的Scroll事件 事件对象:window, Dom元素 事件捕捉:元素滚动条滚动时 滚动原理(滚动发生了什么?) 页面重排: 页面重新生成布局,重排必定引起重绘 页面重绘: 页面重新绘制,不一定重排 事件方法 方法名 说明 onScroll 滚动对象内部内容区域的滚动事件 onwheel 鼠标滚轮滚动触发事件(主…
前端算法 常用算法: dfs-深度优先查找, bfs-广度优先查找 数组查找 链表查找 深度优先查找(dfs) 常见场景:多维数组递归查找, 调用栈 递归 递归定义:调用自身函数 条件:递归条件(继续调用自身的条件)、基线条件(不继续递归的条件) 递归优化用法:尾递归 示例 递归 function recursionFun(i) { //基线条件 …
Scroll Dom元素滚动时触发的Scroll事件 事件对象:window, Dom元素 事件捕捉:元素滚动条滚动时 滚动原理(滚动发生了什么?) 事件方法 方法名 说明 onScroll 滚动对象内部内容区域的滚动事件 onwheel 鼠标滚轮滚动触发事件(主要和onScroll做区别) scroll(x, y) 或 scroll(option…
openLayers 开源的javascript库,用来在web浏览器显示地图,提供的API类似于Google地图和Bing地图。 使用的默认投影坐标:EPSG:3857,和OSM(OpenStreetMap)/Google Map/Bing Map默认坐标一致;不同于高德百度地图的数据格式('EPSG:4326' WGS 84),使用前注意转换。…
why websocket ? html5特点: 更加便于创建更加现代时尚、响应式的web应用程序 html5 通信模式: websocket、服务端信息推送(SSE, server-send Event)、跨文档传信(cross-document messaging) 模式之间的较量 服务端信息推送(SSE, server-send Event)…
webSocket 实战篇 常见场景 实时数据监听 场景一: 实时通信 get数据模式 场景介绍:与服务端建立长连接,频繁实时获取服务端发来的数据,即时通信 需求分析:数据实时更新,保证服务端有新数据,客户端即刻响应并更新数据 技术目标:保证与服务端的通信时刻连通 技术思路:通过对websocket state的监听,根据不同的状态分类处理, 关闭…