JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。为了协调事件、用户交互、脚本、UI渲染和网络处理等行为,防止主线程的不阻塞,EventLoop的方案应用而生。EventLoop包含两类:一类是基于Browsi...
JavaScript发展至今已经发展出多种数组的循环遍历的方法,不同的遍历方法运行起来那个比较快,不同循环方法使用在哪些场景,这些都是我们重点学习的内容。数组遍历的方法取决于各种数组的性质和所处的环境,下面我们来看看几种常见的JavaScr...
JavaScript中的内存管理是自动执行的,而且是不可见的。我们创建基本类型、对象、函数……所有这些都需要内存。一般来说没有被引用的对象就是垃圾,就是要被清除,有个例外如果几个对象引用形成一个环,互相引用,但根...
闭包的官方定义是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。在JavaScript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数&...
JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的...
函数是各个编程语言中必不可少的内容,在JavaScript中有各种各样的函数方法各自有着不同的作用。下面我们来介绍JavaScript中的9个工具函数,这些工具函数写入了工具的函数方法,达到某种工具的功能。1.attempt:捕获函数运行异...
零拷贝技术是编写高性能服务器的一个关键技术,在正式讲零拷贝技术之前,我们先来说明一下两个概念:用户空间与内核空间。用户空间通俗的说,用户空间就是运行着用户编写的应用程序的虚拟内存空间。在32位的操作系统中,每个进程都有4GB独立的虚拟内存空...
数组(Array)是有序的元素序列,简而言之,数组是用于储存多个相同类型数据的集合。无论是在哪个编程语言中,数组都扮演着很重要的角色,JavaScript也不例外。下面是JavaScript中经常出现的10个数组。1.all:布尔全等判断c...
我们在开发前端页面的时候,经常需要用到动态效果,往往我们自己去设计开发动态效果的效率和成果都很堪忧,一般都是在库里采用合适的动态效果。JavaScript动态效果库一般采用纯CSS,可以提高性能(GPU),能够提供很好的向后和向前兼容性,它...
我们都知道,JavaScript是单线程的,也就是说,同步代码很有可能会阻塞任务。如果我们使用异步编程,就可以避免阻塞后面的代码的执行。现在主流的异步编程方案主要分为四种,接下来我们一个一个的来看。1.回调函数用最简单的回调函数来做例子:f...