目录↑

标签 · js

JS运行机制、宏任务与微任务
JS是单线程的 avaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定Jav..

将网页打包成应用程序
需求: 将一个已经上线的后台管理系统(只兼容Chrome)打包成一个不需要谷歌浏览器就可以运行的软件需要安装: npm install electron -g npm install electron-packager -g WinRAR解压工具(或者2345等其他解压工具也可以) Powershell 3 或 3 以上版本(electron-packa..

对象与数组遍历
数组for、forEach、map、filter… for of 便利出来的是value而不是key forEach的第二个参数Array.forEach(function(item){...},ArrayThis) 传入forEach的第二个参数会让function的this指向改变为第二个参数(第一个function如果为箭头函数的话则不会生效) ..

浏览器问题
重绘和回流网页主要由三部分组成:结构(Structure)(HTML)、表现(Presentation)(CSS)和行为(Behavior)(JS)。 浏览器渲染DOM树: 浏览器把获取到的html代码解析成1个Dom树,html中的每个节点(tag)都是Dom树中的1个节点,根节点是document对象 。dom树里面包含了所有的html标签,包括di..

ES6-Proxy
Proxy 代理 ,在我们访问对象前添加了一层拦截,可以过滤很多操作 let a = new Proxy(target, handler); target: 需要包装的对象,可以是数组、函数、class类、Proxy等 handler: 传入一个对象,对target进行的具体操作 以Proxy的get示例 getlet obj = { val:..

JSON.string详解
JSON.string 的特性1.JSON.stringify对undefined、函数、symbol的转换 undefined、函数、symbol单独转换时,会返回undefined undefined、函数、symbol作为对象的属性时,会跳过他们 undefined、函数、symbol作为数组元素时,将被转换为null 1. JSON..

原生js复制到剪切板
原生JS制作复制按钮思路是用js来模拟用户操作,首先选中想要复制的内容,进行然后复制操作 document.querySelector('button').onclick = function () { // 创建一个textarea用来存储要复制的信息 var copyContent = document.createE..