JavaScript
文章平均质量分 86
七日谭
√
展开
-
【JavaScript】作用域链、作用域、执行上下文
文章目录作用域(Scope)1.什么是作用域2.全局作用域和函数作用域3.块级作用域作用域链1.什么是自由变量2.什么是作用域链3.关于自由变量的取值作用域与执行上下文1. 解释阶段:2. 执行阶段:[转载自 浪里行舟](https://blog.fundebug.com/2019/03/15/understand-javascript-scope/)作用域(Scope)1.什么是作用域作用域是在运行时代码中的某些特定部分中变量,函数和对象的可访问性。换句话说,作用域决定了代码区块中变量和其他资源的可转载 2021-03-17 17:48:21 · 238 阅读 · 1 评论 -
【JavaScript】网页优化
文章目录1 页面渲染过程1.1 渲染中途遇到 script 的情况1.2 css 应该放在 head 中1.3 建议把 JS 放在 body 最后1.4 img 标签1.5 window.onload 和 DOMContentLoaded2 性能优化2.1 性能优化原则2.2 优化的方式:1 页面渲染过程根据 HTML 代码生成 DOM Tree根据 CSS 代码生成 CSSOM将 DOM Tree 和 CSSOM 整合形成 Render Tree(框架和样式结合)根据 Rende原创 2021-03-15 21:58:44 · 311 阅读 · 0 评论 -
【javascript】节流、防抖的代码实现
文章目录1 节流2 防抖1 节流节流 throttle:实质上就是将高频触发事件的执行频次降低,也可以理解为稀释。例如:拖拽一个元素时,要随时拿到该元素被拖拽的位置直接用 drag 事件,则会频发触发,很容易导致卡顿节流: 无论拖拽速度多快,都会每隔 100 ms 触发一次// box 就是可拖拽元素( draggable="true")const box = document.getElementById("box")let timer = nullbox.addEventLi原创 2021-03-15 17:05:50 · 316 阅读 · 1 评论 -
【JavaScript】异步(eventloop、Promise、async/await)
文章目录异步1 event loop(事件循环/事件轮询)1.1 JS 如何执行1.2 event loop 过程1.3 异步基于 `event loop`2 promise 进阶2.1 then 和 catch 改变状态3 async/await3.1 背景3.2 async/await 和 Promise 的关系3.3 异步的本质4 微任务/宏任务4.1 event loop 和 DOM 渲染4.2 微任务和宏任务的根本区别异步1 event loop(事件循环/事件轮询)JS 是单线程原创 2021-03-13 16:00:44 · 407 阅读 · 0 评论 -
【JavaScript】作用域、深浅拷贝、原型
文章目录JS1.1作用域和闭包、this1.2 值类型和引用类型的区别1.3 typeof 运算符1.4 深拷贝和浅拷贝1.5 变量计算-类型转换1.6 类型判断 -instanceof1.7 原型1.8 手动封装一个 JQueryJS1.1作用域和闭包、this(1)作用域和自由变量作用域就是变量的一个合法使用范围变量可以在自己对应的红框的任何位置使用(2)作用域分为以下几类:1.全局作用域2.函数作用域3.块级作用域(ES6新增)if (true) { let x = 1原创 2021-03-13 15:15:18 · 197 阅读 · 0 评论 -
【ES6】特性合集
ECMAScript第一章 ECMAScript1.1 ECMA介绍ECMA(European Computer Manufactures Association)中文名称为欧洲计算机制造协会,这个组织的目标是评估、开发和认可电信和计算机标准。1994年后该组织改名为ECMA国际。...原创 2020-10-24 07:47:58 · 389 阅读 · 0 评论 -
[ES7-8]新特性:
ES7新特性:1.ES7新特性:1.1 Array.prototype.includes1.2 指数操作符:2.ES8新特性:2.1 async 和 await2.1.1 async函数2.1.2 await 表达式1.ES7新特性:1.1 Array.prototype.includesincludes 方法用来检测数组中是否包含某个元素,返回布尔类型值。 const mingzhu = ['西游记','红楼梦','三国演义','水浒传']; console.log(mingzhu.includ原创 2020-10-22 19:52:44 · 173 阅读 · 0 评论 -
【es6】模块化
模块化1 模块化:1.1 模块化的好处:1.2 模块化规范产品:1.3 ES6模块化语法:1.4 ES6模块化代码在项目中的使用方式:1 模块化:模块化是指将一个大的程序文件,拆分成许多个小的文件,然后将小文件组合起来。1.1 模块化的好处:(1)防止命名冲突。不同的模块可以命名重复。(2)便于代码复用。(3)高维护性。代码块之间可以独立维护。1.2 模块化规范产品:ES6之前官方是没有模块化规范的,在此之前使用 的是社区的模块规范化:模块化规范实现规范的产品Commo原创 2020-10-19 21:35:56 · 184 阅读 · 0 评论 -
【nodejs】multer插件批量上传
multer插件批量上传视频可以选中多个文件,顺序上传,每个文件都有一个上传情况进度条。HTML部分:<body> <div> <div class="uploadvideo"> <span>选择视频文件</span> <input id="videoinfo type="file" multiple accept="video/*"> </div>原创 2020-10-08 20:28:58 · 495 阅读 · 0 评论 -
网页重置样式表
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css *//* Document ========================================================================== *//** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font原创 2020-09-09 21:06:22 · 875 阅读 · 0 评论 -
js严格模式的要求
js严格模式可以在函数内部选择进行较为严格的全局和局部的错误条件检测,使用严格模式的好处是可以提早知道代码中存在的错误,及时补货一些可能导致编程错误的行为。关键字(编译指示) 为一个不会赋给任何变量的字符串 “use strict”。这个关键字可以选择放在全局作用域上,来限制整个脚本。也可以只放在某个局部作用域中,限制局部脚本的。(例如:放在一个函数里面) function doSomething(){ "use strict"; //其他代码 }1书写变量的要求:1.变量声明 "u原创 2020-07-14 18:31:25 · 250 阅读 · 0 评论 -
js事件委托
js事件委托事件委托的原理是事件的冒泡实现。事件冒泡的形式:事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)。简而言之,就是由里向外进行冒泡。优点:减少了函数的创建。 在为父元素添加新的子元素事件的时候,子元素能够自动添加事件 ,不用通过获取元素再遍历的方式为新元素添加事件;由于每个方法就相当于是一个对象,如果不使用委托的话,每次添加的新元素产生就会产生新的的对象占用内存。<body><ul id="ulele">原创 2020-07-13 17:00:31 · 253 阅读 · 0 评论 -
js里的继承方式
js里的继承主要是依赖原型链来实现的。1.原型链继承构造函数、原型和实例之间的关系为:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针,让这个原型对象(子的原型)等于要继承的引用类型(父)的实例,通过层层指向关系就可以实现原型链。原型链继承实现的额本质是重写原型对象,代之以一个新类型的实例。换句话说,原来存在于父类(SuperType)实例中的所有属性和方法,现在也存在于子类的prototype(SubType.prototype)中。在确认原创 2020-07-13 09:43:16 · 197 阅读 · 0 评论 -
js自定义对象的三种方式
js是面向对象的编程语言。对象具有三大特征:继承、封装、多态;对象包含属性和行为。自定义对象的创建①常规定义对象 var person = new Object(); //设置属性 person.name = "张三"; person.age = 8; //设置对象的方法 person.eat = function () { return this.name + "吃饭"; }②简单版定义对象 var cat = {原创 2020-06-17 14:14:34 · 479 阅读 · 0 评论