JavaScript语法
mxydl2009
这个作者很懒,什么都没留下…
展开
-
JavaScript模块化概述
模块化演进 阶段一:文件即模块,使用<script>标签引入 污染全局作用域 命名冲突 无法管理模块依赖关系 阶段二:命名空间方式,文件暴露一个全局对象,所有方法挂载到全局对象上形成命名空间 缓解命名冲突,但无法避免 没有私有属性,从而无法避免出现私有属性值被不小心更改的情况 依赖关系仍然无法管理 阶段三:IIFE立即执行函数表达式,可以给全局对象上挂载属性来暴露接口,也可以返回一个对象来暴露接口。 私有成员得到保证 通过IIFE传递参数,可以在一定意义上管理依赖关系。如 ;(fun原创 2020-07-10 15:57:31 · 156 阅读 · 0 评论 -
JavaScript语言层面的优化
JavaScript优化 内存管理 高级语言自带垃圾回收机制 如果不注意内存管理,可能会导致内存泄漏问题。 内存管理:开发者主动申请空间、使用空间和释放空间。JavaScript中并未提供相应的API,由执行引擎根据语言来执行内存管理操作。 申请空间let obj = {}; 使用空间obj.name = 'foo'; 释放空间obj = null; 垃圾回收与常见GC算法 垃圾回收程序执行时,会阻塞JavaScript的执行。 两种对垃圾的判断: 对象不再被引用时,称为垃圾 对象不能从根上访问原创 2020-06-30 21:00:11 · 188 阅读 · 0 评论 -
ES2015新特性
ECMAScript概述 JavaScript = ECMAScript + 运行环境的API 其中,运行环境包括浏览器和Node环境 ES2015(ES6来泛指ES2015之后的新标准)新特性 解决原有用语法上的不足 let、const与块级作用域 let、const声明的变量只在{}包裹的块级作用域内有效 // 将会打印出三次foo; for(let i = 0; i < 3; i ++) { let i = 'foo'; console.log(i); } // 这段代码相当于如下原创 2020-06-28 17:58:40 · 710 阅读 · 0 评论 -
HTML编码、innerHTML、innerText与URL编码
HTML编码字符集 为了让浏览器知道页面应该显示什么,必须要给页面一个明确的字符集用于浏览器编码解码。通常,我们都用utf-8字符集。如<meta charset="UTF-8">来指定页面所用的字符集。这样一来,浏览器可以根据utf-8字符集来显示内容。 点击这里先展示一下HTML特殊字符与字符实体对照表。 浏览器对HTML标签内的特殊字符解析时,为什么直接写特殊字符也行,写特殊字符...原创 2020-02-29 22:14:23 · 552 阅读 · 0 评论