站长随笔

第6页
JavaScript数组shift()方法_中医自学网

JavaScript数组shift()方法

阅读(400)

shift()是 JS 数组的一个方法。作用是:从数组的开头移除并返回第一个元素。 它还同时产生一个作用是:修改原始数组,使其长度减1。 语法如下: array.shift() 代码示例: const arr = [1, 2, 3, 4, ...

js中怎么获取对象的构造函数?_中医自学网

js中怎么获取对象的构造函数?

阅读(253)

在 JavaScript 中,我们可以使用对象的constructor属性来获取对象的「构造函数」, constructor属性是一个指向创建该对象的构造函数的引用。 我们来看一个代码例子: const person = { name: "...

js bind函数实现原理_中医自学网

js bind函数实现原理

阅读(138)

bind函数的实现比call和apply这两个函数要略复杂一些,因为bind需要返回一个函数,要判断一些边界问题。 以下就是bind的实现: Function.prototype.myBind = function(context) { i...

手写call函数(原理讲解)_中医自学网

手写call函数(原理讲解)

阅读(148)

实现call: Function.prototype.myCall = function(context) { // 如果不传入第一个参数,那么「上下文」默认为 window if(typeof context === undefined ...

js promise是什么?_中医自学网

js promise是什么?

阅读(132)

本文来介绍一下 JavaScript 中的 Promise。(主要讲一下 Promise 的用途) Promise 之前的时代——回调时代 假设我们用getUser来取用户数据,它接收两个回调successCallback和errorCal...

异步并不意味着同时做两件事_中医自学网

异步并不意味着同时做两件事

阅读(113)

有的人对「异步」这个概念产生了误解,认为异步是同时做两件事,其实不是的,因为JS引擎根本就没有能力同时做两件事。 就拿setTimeout来说,setTimeout里的代码一定会在当前环境中的任务执行完了「之后」才执行。 「异步」只是说不用...

异步什么时候用?_中医自学网

异步什么时候用?

阅读(105)

一般什么情况下需要用到「异步」? 现有三个函数,taskA()、taskB()和taskC(),三个任务互不影响。 taskA和taskC执行得比较快,taskB执行得比较慢,耗时5秒。 // 同步的写法 function taskB() ...

js异步编程的理解_中医自学网

js异步编程的理解

阅读(115)

这篇文章来谈一下JavaScript中的异步。 1、 什么样的代码叫「异步代码」? 我们先从「表象」来看怎样的代码算异步代码: 书写顺序与执行顺序不同的代码是异步代码(这个定义是不严谨的,因为书写顺序和执行顺序不同的代码实际上并不一定是异步...

Generator函数用法_中医自学网

Generator函数用法

阅读(126)

Generator()函数是ES6提供的一种「异步编程」解决方案。 我们可以把Generator()函数理解为是一个状态机,函数内部维护多个状态,函数执行的结果返回一个部署了Iterator接口的对象,通过这个对象可以依次获取函数内部的每一...

回调地狱是什么?_中医自学网

回调地狱是什么?

阅读(141)

回调函数存在一个「可读性」的问题。 而可读性多指回调地狱(Callback hell),如果多个请求存在依赖性,那么就可能写出如下代码: ajax(url, () => { // 处理逻辑 ajax(url1, () => { ...