
JavaScript 进阶
JavaScript 进阶
邪人君子
毕业于云南大学,电子信息工程专业。工作期间独立负责移动端项目开发,熟悉nginx建站流程,有linux环境开发经验,有iOS、Android端企业级应用的打包发布经验,有移动端首页白屏优化经验
展开
-
H5 离线缓存及 Nginx 服务器配置
离线缓存什么是Application CacheApplication Cache 的优势离线Web应用的运行机制manifest 文件内容示例理解manifest 文件页面被自动加载到离线缓存版本注释的用途nginx 服务器配置查看离线缓存的效果什么是Application CacheHTML5 的应用缓存(application cache),或者简称为appcache,是专门为开发离线W...原创 2020-04-23 18:24:14 · 886 阅读 · 0 评论 -
JavaScript--23 使对象不可篡改
使对象不可篡改的三种方式不可扩展对象密封对象冻结对象总结一下这三种方式的检测不可扩展对象默认情况下,所有对象都是可以扩展的。也就是说,任何时候都可以向对象中添加属性和方法。例如,可以像下面这样先定义一个对象,后来再给它添加一个属性。var person = { name: "Nicholas" };person.age = 29;使用 Object.preventExtensions(...原创 2020-03-11 12:28:19 · 306 阅读 · 0 评论 -
JavaScript--22 什么是惰性载入函数
所谓惰性载入,就是说函数的if分支只会执行一次,之后调用函数时,直接进入所支持的分支代码。很多时候我们只需要进行一次判断,因为之后每次调用函数判断的结果都一样。所以如果if 语句不必每次执行,我们可以使用称之为惰性载入的技巧来进行优化。惰性载入的逻辑是在第一次进行 if 判断之后就对函数重新定义,这样后面每次调用该函数都不会再进行if判断。下面提供了实现惰性载入的两种方式。第一种:函数被调...原创 2020-03-11 10:58:01 · 328 阅读 · 0 评论 -
JavaScript--21 一些跨域技术的总结(jsonp/nginx/Access-Control-Allow-Origin)
本节目录Access-Control-Allow-Origin - 主要在于后端关于 JSONP图像Ping使用 nginx 进行反向代理通过XHR 实现Ajax 通信的一个主要限制,就是跨域问题。默认情况下,XHR 对象只能访问与包含它的页面位于同一个域中的资源。CORS(Cross-Origin Resource Sharing,跨源资源共享)是W3C 的一个标准,它允许浏览器向跨源服务器...原创 2020-03-11 08:52:48 · 312 阅读 · 0 评论 -
从堆、栈内存到深、浅拷贝详述
浅拷贝只是拷贝基本类型的数据,如果父对象的属性等于数组或另一个对象,那么实际上,子对象获得的只是一个内存地址,因此存在父对象被篡改的可能,浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。...原创 2020-01-15 16:09:24 · 707 阅读 · 0 评论 -
内存优化之移除事件处理程序
每当将事件处理程序指定给元素时,运行中的浏览器代码与支持页面交互的JavaScript 代码之间就会建立一个连接。这种连接越多,页面执行起来就越慢。除了采用事件委托技术,限制建立的连接数量,在不需要的时候移除事件处理程序,也是解决这个问题的一种方案。内存中留有那些过时不用的“空事件处理程序”,也是造成Web 应用程序内存与性能问题的主要原因。在两种情况下,可能会造成上述问题。第一种情况就是从文...原创 2019-12-17 20:56:12 · 196 阅读 · 0 评论 -
内存优化之事件委托
在JavaScript 中,添加到页面上的事件处理程序数量将直接关系到页面的整体运行性能。导致这一问题的原因是多方面的。首先,每个函数都是对象,都会占用内存;内存中的对象越多,性能就越差。其次,必须事先指定所有事件处理程序而导致的DOM访问次数,会延迟整个页面的交互就绪时间。对“事件处理程序过多”问题的解决方案就是事件委托。事件委托利用了事件冒泡,只指定一个事件处理程序,就可以管理某一类型的...原创 2019-12-17 19:59:57 · 157 阅读 · 0 评论 -
事件学习之自定义右键菜单
<!DOCTYPE html><html><head><title>ContextMenu Event Example</title><script> var EventUtil = { addHandler: function(element, type, handler){ ...原创 2019-12-17 18:59:43 · 105 阅读 · 0 评论 -
清除JavaScript文件缓存方法
初始引入方法如下 <script src="js/app.js"></script> <script src="js/html2canvasA.min.js"></script> <script src="js/qrcode.js"></script> <script src="js/iphone.js"...原创 2019-10-08 15:53:03 · 996 阅读 · 0 评论 -
汉字转拼音并根据首字母分离
城市列表文件,根据首字符切割成数组,数组内根据拼音排序// 城市列表对象文件var cityLB = { "340100": "合肥市", "340101": "市辖区", "340102": "瑶海区", "340103": "庐阳区", "340104": "蜀山区", "340111": "包河区", "340121": "长丰县", "340122": "肥东县", "...原创 2019-08-12 17:02:59 · 737 阅读 · 0 评论 -
JavaScript 设计列表
为了设计列表的抽象数据类型,需要给出列表的定义,包括列表应该拥有哪些属性,应该在列表上执行哪些操作。列表是一组有序的数据。每个列表中的数据项称为元素。在 JavaScript 中,列表中的元素可以是任意数据类型。列表的抽象数据类型定义方法定义listSize(属性)列表的元素个数pos(属性)列表的当前位置length(属性)返回列表中元素的个数...原创 2019-07-30 09:26:42 · 237 阅读 · 0 评论