Javascript Promise.all() – 你需要知道的一切

Javascript 中的Promise.all()方法是一个函数,它接受许多承诺,然后只有在它们全部确定后才做某事。从您输入的所有承诺中,它会创建一个新的承诺,然后等待每个承诺完成,然后再继续。这最终意味着您可以等待多项事情完成,然后再开火其他事情。

此方法对于 UI 开发特别有用 – 例如,如果您希望在屏幕上显示一个加载符号直到多个承诺结束,则Promise.all()提供了一种简单的方法来执行此操作。让我们看看它是如何工作的。

Javascript Promise.all() 方法#

Promise.all()接受可迭代的承诺。这意味着它可以接受任何可以迭代的东西——比[……]

继续阅读

使用 isNaN() 检查值是否为 Javascript 中的数字

在 Javascript 中,我们有多种方法来检查某物是否是数字。这是 Javascript 中一个特别常见的任务,其中有动态类型,导致一些意想不到的东西被归类为数字。Typescript修复了其中的一些问题,但在本指南中,我们将介绍如何检查 Javascript 中的某些内容是否为数字,以及在尝试执行此操作时应避免的陷阱。

引入 isNaN#

NaN是 Javascript 中的一个特殊值,代表“Not a Number”。如果您尝试将 Javascript 中的文本字符串解析为int,您将得到 NaN:

NaN这本身就有点令人困惑,而且您并不总能得到预期的结果。NaN[……]

继续阅读

揭秘“this”在 Javascript 中的工作原理

它一直在 Javascript 中使用,但它指的是什么通常是个谜。在 Javascript 中,它的this工作方式与其他编程语言完全不同——而且它的工作方式也不同,具体取决于您是否使用use strict模式。

如果你发现它很难,你并不孤单。让我们看看究竟是如何this工作的,并消除关于它在各种情况下的含义的任何混淆。

这是什么在 Javascript 中#

this是 Javascript 中的关键字,它指的是特定上下文中的一个属性或一组属性。我们使用的上下文this改变了它的属性。在全局上下文中,this指的是全局对象——在浏览器中是window,但globalThis[……]

继续阅读

OpenGL教程 002 设置OpenGL用C++创建一个窗口

Setting up OpenGL and Creating a Window in C++

上一次我们讲了关于opengl是什么,一点点关于opengl怎么工作的
还有就是这系列会包括什么
如果你们没有看过这个系列的视频,那么去看这个地方
今天我们开始进行这个系列并且写一些代码
我们会完成一些工作,会获得一个【opengl窗口】
展示并且会画一个【三角形】
这个系列里面,对比c++系列我想明确地做更多具体的方法
在我们开始写代码之前, 我会讲很多的解释和很多的理论
在这个系列里面我仍然想要这么做
因为我认为对于在事实上理解任何事物是怎么运作的是很重要的
但是
在这系列只是最初的地方,我只想用一些代码来讲解
我[……]

继续阅读

OpenGL教程 001欢迎学习OpenGL

Welcome to OpenGL

openGL是一个图形API
现如今,API代表着用户图形接口(Application Program Interface)
通俗地来说
其基本上是一群函数
我们可以通过调用这些函数来做一些事情
这这种情况下
openGL是一个图形API
所以它允许我们做一些关于图形图像方面的事情
而且特别地
penGL实际上允许我们访问我们的GPU(显卡)
显卡可以更有力地绘制图形
实际上为了在电脑和设备(像手机)上使用用显卡

【我们实际上需要使用一些API来操纵显卡】

而OpenGL是这类API中的一个
我们也有其他这方面的API像是Direct3D(Window专用)
ulk[……]

继续阅读

使用 Javascript 检测设备方向

有时,您只想知道屏幕是纵向模式还是横向模式。您可能希望在两个主要位置执行此操作:在Javascript和CSS中。让我们看看如何在两者中检测屏幕的方向。

在 CSS 中检测方向#

在 CSS 中,只需使用以下媒体查询即可匹配任何纵向或横向设备:

在 Javascript 中检测方向#

由于screen.orientation具有补丁支持,您可以在 Javascript 中使用相同的媒体查询,如下所示:

检测 Javascript 中的方向变化#

如果您需要简单地检测用户何时改变方向,您可以使用以下事件侦听器:

目前,这在 Safari 中不[……]

继续阅读

Javascript 沙箱 ShadowRealms

Javascript 阴影领域

这听起来黑暗而神秘——但它只是另一个未来的 Javascript 特性。ShadowRealm是 Javascript的一项新功能,它将让我们创建一个单独的全局上下文来执行 Javascript。在本文中,我们将了解什么是 ShadowRealm 及其工作原理。

在 Javascript 中支持 ShadowRealms#

ShadowRealms 是一个 Javascript 提案,目前处于第 3 阶段。因此,ShadowRealms 在浏览器或服务器端语言(如 Node.JS)中不支持,并且考虑到它多年来发生了许多变化,因此没有稳定的 ba[……]

继续阅读

如何使用 Node.JS 和 Canvas 自动生成图像

每次我发布一篇文章时,我都会创建一个缩略图来配合它。通常这部分是最乏味的。我通常在 Photoshop 或其他图像编辑器中完成。为了尝试使这更容易,我最近使用 Javascript 和 Node.JS 自动生成了这张图片的帖子缩略图。在本教程中,我们将了解如何使用 Node.JS 和 Canvas 自动生成您自己的文章图像。

在本指南中,我将向您展示如何使用 Node.JS 自动生成帖子缩略图。这是我使用此方法生成的图像示例:

本文的完整代码可以在这个Git Gist中找到

如何在 Node.JS 中使用画布#

由于 Node.JS 是一种后端语言,因此它没有开箱即[……]

继续阅读

Javascript 保留关键字

在编写代码时,保留关键字是不能用作变量或标识符名称的关键字。截至2022 年,这是Javascript中有效保留关键字的完整列表。

所有 Javascript 保留关键字#

下面的列表不能用作变量名,因为它们是保留关键字。它们中的大多数都具有 Javascript 中的当前功能。有些没有,但它们是将来可能具有某种功能的词。避免在变量名中使用这些词。

  • await
  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • enum
  • export
  • extends
  • false
  • finally
  • for
  • function
  • if
  • import
  • in
  • i[……]

    继续阅读

Javascript 中Import, Export和Require

您可能在 Javascript 中看到过以下行:

然后你可能已经看到了这个..

更糟糕的是,你可能已经看到了:

这一切意味着什么?!为什么在 Javascript 中有这么多看似导入包的方法?为什么我不能在我的 Node.JS 服务器上导入工作?让我们探索这一切意味着什么。

在 Javascript 中导入、导出和Require#

开箱即用,当您在 Node.JS 中使用 Javascript 编写时,require()就像一个魅力。那是因为require它是专门为 Node.JS 构建的。如果文件导出某些内容,则 require 将导入该导出内容。假[……]

继续阅读