javascript
文章平均质量分 70
M-Codes
不管什么年纪,别辜负最好的时光。把每一句“我不会”都改为“我可以学”,把每一句“我不敢”都改为“我一定行”。尝试总比永远不敢开始要强!经历了才无侮!加油!少年
展开
-
一次弄懂Event Loop
Event Loop即事件循环,是指浏览器或Node的一种解决javaScript单线程运行时不会阻塞的一种机制,也就是我们经常使用异步的原理。堆是一种数据结构,是利用完全二叉树维护的一组数据,堆分为两种,一种为最大堆,一种为最小堆,将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。堆是线性数据结构,相当于一维数组,有唯一后继。如最大堆栈在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要原创 2022-06-03 22:50:24 · 868 阅读 · 0 评论 -
编写高性能的JavaScript
常见编码规范将 js 脚本放在页面底部,加快渲染页面将 js 脚本将脚本成组打包,减少请求使用非阻塞方式下载 js 脚本尽量使用局部变量来保存全局变量遵循严格模式:“use strict”;尽量减少使用闭包减少对象成员嵌套缓存 DOM 节点访问避免使用 eval()和 Function()构造器尽量使用直接量取创建对象和数组最小化重绘(repaint)和回流(reflow)为什么 JS 要放到 body 尾部?如果 JS 需要绑定操作 DOM,那么放在 header 中如果处理原创 2022-05-31 12:56:27 · 170 阅读 · 0 评论 -
Promise的神奇之处
前端重点之Promise一、promise 的认识1.js的单线程1)javascript的执行环境是单线程的2)单线程:指JS引擎中负责解释和执行JavaScript代码的线程只有一个,也就是一次只能完成一项任务,这个任务执行完后才能执行下一个,它会「阻塞」其他任务,这个任务可称为主线程,但是实际上还有其他线程,如事件触发线程、ajax请求线程等2.同步与异步1)同步模式:也就是单线程模式,一次只能执行一个任务,函数调用后需等到函数执行结束,返回执行的结果,才能进行下一个任务,如果这个任务.原创 2022-05-05 18:46:14 · 212 阅读 · 1 评论 -
JS之常用组件封装
组件封装一、说明什么是组件?组件是指Web页面上抽出来一个个包含模板(HTML)、功能(JS)和样式(CSS)的单元一个好的组件特点:封装性、正确性、扩展性、复用性。二、具体作者:zh_yang转载:https://www.jianshu.com/p/81f679149a181、 封装一个轮播组件介绍API:Carousels.init($ct,data)依赖JQuery第一个参数为需要展示轮播的容器,自行设置宽度、高度第二个参数为轮播图片SRC数组,数量自定预览.原创 2022-05-04 19:53:11 · 2518 阅读 · 0 评论 -
轻松学习正则表达式
正则表达式的实际运用RE基础知识正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式。 “Regular expression”这个词比较拗口,我们常使用缩写的术语“regex”或“regexp”。 正则表达式可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等等。想象你正在写一个应用,然后你想设定一个用户命名的规则,让用户名包含字符、数字、下划线和连字符,以及限制字符的个数,...原创 2022-05-03 14:16:35 · 219 阅读 · 0 评论 -
事件委托(代理)的理解
事件委托(代理)什么是事件?事件是我们在编程时系统内发生的动作或者发生的事情(譬如点击鼠标、敲击键盘)。事件的本质是程序各个组成部分之间的一种通信方式,也是异步编程的一种实现。事件有多种类型,以下代码我们以“鼠标点击”事件为例。浏览器的事件模型,就是通过监听函数(listener)监听事件,在事件发生改变后作出反应。事件的「默认行为」是指浏览器规定的行为,例如单击超链接会跳转…事件的传播一个事件发生后,会在子元素和父元素之间传播(propagation)。这种传播分成三个阶段:事件捕获阶段(原创 2022-05-03 13:02:03 · 1226 阅读 · 0 评论 -
JS实用技巧之断点调试详解
引言调试能力是一个程序员的生存根本,可是很多初学者却忽视调试。今天我们就来讨究一下JS的调试技巧。本文章将会详细列举JS相关的各种实用调试技巧。如果您是JS的初学者,那么这篇文章将对您有很大的帮助。为什么要调试?程序就是函数堆砌起来的,程序的运行就是函数的执行过程。而通过JS调试,我们可以更为直观的追踪到在程序运行中,函数的执行顺序,以及各个参数的变化。这样我们就可以快速的定位到问题所在。1. 什么是JS调试?在程序运行中,我们总会遇到各种bug,而通过代码的追踪代码的运行顺序从而定位到问题的过原创 2022-04-28 13:58:23 · 9401 阅读 · 2 评论 -
JS之闭包
使用闭包主要是为了设计私有的方法和变量闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,增加内存使用量,使用不当很容易造成内存泄漏,在JavaScript中。函数即闭包,只有函数才会产生作用域闭包有三个特性(1)函数嵌套函数(2)在函数内部可以引用外部的参数和变量(3)参数和变量不会以垃圾机制回收闭包的其他理解闭包虽不是JS的特色功能, 但要理解还真要费那么点工夫. 在理解闭包之前, 首先要清楚JS中的作用域只有2种: 全局作用域和方法作用域全局作用域很好理解了, 方法作用域.原创 2022-04-10 09:46:05 · 106 阅读 · 0 评论 -
js作用域
js作用域的一般理解:指一个变量的作用范围1、全局作用域全局作用域在页面打开时被创建,页面关闭时被销毁编写在script标签中的变量和函数,作用域为全局,在页面的任意位置都可以访问到在全局作用域中有全局对象window,代表一个浏览器窗口,由浏览器创建,可以直接调用全局作用域中声明的变量和函数会作为window对象的属性和方法保存2、函数作用域调用函数时,函数作用域被创建,函数执行完毕,函数作用域被销毁每调用一次函数就会创建一个新的函数作用域,他们之间时相互独立的在函数作用域中可以访原创 2022-04-09 12:01:26 · 79 阅读 · 1 评论 -
箭头函数中的this指向
箭头函数中的this是在定义函数的时候绑定,而不是在执行函数的时候绑定箭头函数中,this的执行是固定化的,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this正是因为箭头函数没有this,所以它不能作为构造函数1、箭头函数中的this实在定义函数的时候绑定的所谓的定义时候绑定,就是this是继承自父执行上下文中的this,这里的箭头函数中的this.x本身与say平级以key:value的形式,也就是箭头函数本身所在的.原创 2022-04-09 11:33:06 · 208 阅读 · 0 评论 -
js中的this的指向问题
javascript中this指向问题1.this永远指向一个对象2.this的指向完全取决于函数调用的位置需要注意的是在JavaScript语言中,一切皆对象,运行环境也是对象,所有函数都是在某个对象下运行,而this就是函数运行时所在的对象(环境)原理function fun(){ console.log(this.s);}var obj = { s:'1', f:fun}var s = '2';//这里的obj.f(),是调用了obj对象中的f方法,所以运原创 2022-04-09 10:44:53 · 507 阅读 · 0 评论