文章分类 -  前端

上一页 1 ··· 19 20 21 22 23 24 25 26 27 下一页

JavaScript 浏览器:文档 之:浏览器环境,规格(一)
摘要:JavaScript 语言最初是为 Web 浏览器创建的。此后,它已经演变成了一种具有多种用途和平台的语言。 平台可以是一个浏览器,一个 Web 服务器,或其他 主机(host),甚至可以是一个“智能”咖啡机,如果它能运行 JavaScript 的话。它们每个都提供了特定于平台的功能。JavaScr 阅读全文

posted @ 2022-12-06 15:24 梁飞宇 阅读(46) 评论(0) 推荐(0)

JavaScript 杂项之:函数返回值和return关键字(六)
摘要:JavaScript 函数提供两个接口实现与外界的交互,其中参数作为入口,接收外界信息;返回值作为出口,把运算结果反馈给外界。 ❗️ 在函数体内,使用 return 语句可以设置函数的返回值。一旦执行 return 语句,将停止函数的运行,并运算和返回 return 后面的表达式的值。 如果函数不包 阅读全文

posted @ 2022-12-05 23:09 梁飞宇 阅读(56) 评论(0) 推荐(0)

JavaScript 杂项之:BigInt(五)
摘要:❗️ 最近新增的特性 这是一个最近添加到 JavaScript 的特性。 你能在 https://caniuse.com/#feat=bigint 找到当前支持状态。 BigInt 是一种特殊的数字类型,它提供了对任意长度整数的支持。 创建 bigint 的方式有两种:在一个整数字面量后面加 n 或 阅读全文

posted @ 2022-12-02 01:42 梁飞宇 阅读(127) 评论(0) 推荐(0)

JavaScript 杂项之:Reference Type(四)
摘要:❗️ 深入的语言特性 本文所讲的是一个高阶主题,能帮你更好地理解一些边缘情况。 这仅是锦上添花。许多经验丰富的的开发者不甚了了也过得不错。如果你想了解代码运行的本质,那就继续读下去吧。 一个动态执行的方法调用可能会丢失 this。 例如: let user = { name: "John", hi( 阅读全文

posted @ 2022-12-02 01:38 梁飞宇 阅读(16) 评论(0) 推荐(0)

JavaScript 杂项之:柯里化(Currying)(三)
摘要:柯里化(Currying)是一种关于函数的高阶技术。它不仅被用于 JavaScript,还被用于其他编程语言。 柯里化是一种函数的转换,它是指将一个函数从可调用的 f(a, b, c) 转换为可调用的 f(a)(b)(c)。 柯里化不会调用函数。它只是对函数进行转换。 让我们先来看一个例子,以更好地 阅读全文

posted @ 2022-12-02 01:34 梁飞宇 阅读(12) 评论(0) 推荐(0)

JavaScript 杂项之:Eval:执行代码字符串(二)
摘要:内建函数 eval 允许执行一个代码字符串。 语法如下: let result = eval(code); 例如: let code = 'alert("Hello")'; eval(code); // Hello 代码字符串可能会比较长,包含换行符、函数声明和变量等。 eval 的结果是最后一条语 阅读全文

posted @ 2022-12-02 01:28 梁飞宇 阅读(68) 评论(0) 推荐(0)

JavaScript 杂项之:Proxy 和 Reflect(一)
摘要:一个 Proxy 对象包装另一个对象并拦截诸如读取/写入属性和其他操作,可以选择自行处理它们,或者透明地允许该对象处理它们。 Proxy 被用于了许多库和某些浏览器框架。在本文中,我们将看到许多实际应用。 Proxy 语法: let proxy = new Proxy(target, handler 阅读全文

posted @ 2022-12-02 01:25 梁飞宇 阅读(87) 评论(0) 推荐(0)

JavaScript 模块之:动态导入(三)
摘要:我们在前面章节中介绍的导出和导入语句称为“静态”导入。语法非常简单且严格。 首先,我们不能动态生成 import 的任何参数。 模块路径必须是原始类型字符串,不能是函数调用,下面这样的 import 行不通: import ... from getModuleName(); // Error, on 阅读全文

posted @ 2022-12-02 00:58 梁飞宇 阅读(224) 评论(0) 推荐(0)

JavaScript 模块之:导出和导入(二)
摘要:导出(export)和导入(import)指令有几种语法变体。 在上一节,我们看到了一个简单的用法,现在让我们来探索更多示例吧。 在声明前导出 我们可以通过在声明之前放置 export 来标记任意声明为导出,无论声明的是变量,函数还是类都可以。 例如,这里的所有导出均有效: // 导出数组 expo 阅读全文

posted @ 2022-12-02 00:51 梁飞宇 阅读(228) 评论(0) 推荐(0)

JavaScript 模块之:模块 (Module) 简介(一)
摘要:随着我们的应用越来越大,我们想要将其拆分成多个文件,即所谓的“模块(module)”。一个模块可以包含用于特定目的的类或函数库。 很长一段时间,JavaScript 都没有语言级(language-level)的模块语法。这不是一个问题,因为最初的脚本又小又简单,所以没必要将其模块化。 但是最终脚本 阅读全文

posted @ 2022-12-02 00:19 梁飞宇 阅读(1729) 评论(0) 推荐(0)

JavaScript Generator,高级 iteration之:异步迭代和 generator(二)
摘要:异步迭代允许我们对按需通过异步请求而得到的数据进行迭代。例如,我们通过网络分段(chunk-by-chunk)下载数据时。异步生成器(generator)使这一步骤更加方便。 首先,让我们来看一个简单的示例以掌握语法,然后再看一个实际用例。 回顾可迭代对象 让我们回顾一下可迭代对象的相关内容。 假设 阅读全文

posted @ 2022-12-01 18:00 梁飞宇 阅读(49) 评论(0) 推荐(0)

JavaScript Generator,高级 iteration之:generator(一)
摘要:常规函数只会返回一个单一值(或者不返回任何值)。 而 generator 可以按需一个接一个地返回(“yield”)多个值。它们可与 iterable 完美配合使用,从而可以轻松地创建数据流。 generator 函数 要创建一个 generator,我们需要一个特殊的语法结构:function*, 阅读全文

posted @ 2022-12-01 17:45 梁飞宇 阅读(70) 评论(0) 推荐(0)

JavaScript Promise,async/await之:async/await(八)
摘要:async/await 是以更舒适的方式使用 promise 的一种特殊语法,同时它也非常易于理解和使用。 async function 让我们以 async 这个关键字开始。它可以被放置在一个函数前面,如下所示: async function f() { return 1; } 在函数前面的 “a 阅读全文

posted @ 2022-12-01 17:10 梁飞宇 阅读(84) 评论(0) 推荐(0)

JavaScript Promise,async/await之:微任务(Microtask)(七)
摘要:promise 的处理程序 .then、.catch 和 .finally 都是异步的。 即便一个 promise 立即被 resolve,.then、.catch 和 .finally 下面 的代码也会在这些处理程序之前被执行。 示例代码如下: let promise = Promise.reso 阅读全文

posted @ 2022-12-01 16:59 梁飞宇 阅读(48) 评论(0) 推荐(0)

JavaScript Promise,async/await之:Promisification(六)
摘要:对于一个简单的转换来说 “Promisification” 是一个长单词。它指将一个接受回调的函数转换为一个返回 promise 的函数。 由于许多函数和库都是基于回调的,因此,在实际开发中经常会需要进行这种转换。因为使用 promise 更加方便,所以将基于回调的函数和库 promise 化是有意 阅读全文

posted @ 2022-12-01 16:54 梁飞宇 阅读(19) 评论(0) 推荐(0)

JavaScript Promise,async/await之:Promise API(五)
摘要:在 Promise 类中,有 6 种静态方法。我们在这里简单介绍下它们的使用场景。 Promise.all 假设我们希望并行执行多个 promise,并等待所有 promise 都准备就绪。 例如,并行下载几个 URL,并等到所有内容都下载完毕后再对它们进行处理。 这就是 Promise.all 的 阅读全文

posted @ 2022-12-01 16:49 梁飞宇 阅读(38) 评论(0) 推荐(0)

JavaScript Promise,async/await之:使用 promise 进行错误处理(四)
摘要:promise 链在错误(error)处理中十分强大。当一个 promise 被 reject 时,控制权将移交至最近的 rejection 处理程序。这在实际开发中非常方便。 例如,下面代码中所 fetch 的 URL 是错的(没有这个网站),.catch 对这个 error 进行了处理: fet 阅读全文

posted @ 2022-12-01 16:36 梁飞宇 阅读(200) 评论(0) 推荐(0)

JavaScript Promise,async/await之:Promise 链(三)
摘要:我们有一系列的异步任务要一个接一个地执行 —— 例如,加载脚本。我们如何写出更好的代码呢? Promise 提供了一些方案来做到这一点。 在本章中,我们将一起学习 promise 链。 它看起来就像这样: new Promise(function(resolve, reject) { setTime 阅读全文

posted @ 2022-12-01 15:03 梁飞宇 阅读(37) 评论(0) 推荐(0)

JavaScript Promise,async/await之:Promise(承诺)(二)
摘要:想象一下,你是一位顶尖歌手,粉丝没日没夜地询问你下首歌什么时候发。 为了从中解放,你承诺(promise)会在单曲发布的第一时间发给他们。你给了粉丝们一个列表。他们可以在上面填写他们的电子邮件地址,以便当歌曲发布后,让所有订阅了的人能够立即收到。即便遇到不测,例如录音室发生了火灾,以致你无法发布新歌 阅读全文

posted @ 2022-12-01 14:39 梁飞宇 阅读(31) 评论(0) 推荐(0)

JavaScript Promise,async/await之:回调(一)
摘要:⚠️ 我们在这里的示例中使用了浏览器方法 为了演示回调、promise 和其他抽象概念的使用,我们将使用一些浏览器方法:具体地说,是加载脚本和执行简单的文档操作的方法。 但是,我们会尽全力使讲解变得更加清晰。在这儿不会有浏览器方面的真正复杂的东西。 JavaScript 主机(host)环境提供了许 阅读全文

posted @ 2022-12-01 14:18 梁飞宇 阅读(27) 评论(0) 推荐(0)

上一页 1 ··· 19 20 21 22 23 24 25 26 27 下一页