专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

js递归函数详解,js编写递归函数

来源:小嗨整编  作者:小嗨  发布时间:2023-02-23 05:04
摘要:js递归函数详解,js编写递归函数,在这篇文章中,你都能收获到如何用JavaScript编写递归函数!本文旨在通过分解和单步执行递归JavaScript函数来学习和理解它的工作原理。根据您的JavaScript水平,您可以随意跳过本文。如果...

箭头功能

MDN 网络文档解释说,箭头函数表达式是传统函数表达式的紧凑替代品,具有一些语义差异和使用上的故意限制:

  • 箭头函数没有自己与 this、arguments 或 super 的绑定,因此不应用作方法。

  • 箭头函数不能用作构造函数。用 new 调用它们会抛出 TypeError。他们也无权访问 new.target 关键字。

  • 箭头函数不能在其主体内使用 yield 并且不能创建为生成器函数。

丹的递归函数写的箭头函数很简单,不用着急。如果您不熟悉箭头函数,我只想让您了解语法。

为了演示,我写了两个简单的 greet 函数:

function greetOne(name) {
  return "Hello " + name;
}
  console.log(greetOne("Michael"));
"Hello Michael"

这是重写为箭头函数的相同函数:

greetTwo = name => "Hello " + name;
  console.log(greetTwo("Michael"));
"Hello Michael"

通过将 greet 函数重写为箭头函数,我们消除了以下语法:

  • 功能

  • 括弧

  • 大括号

  • 返回


if 和 else 语句

if语句指定条件为真时执行的代码块,else语句指定条件为假时执行的代码块。

在下面的 greet 函数中,如果您传入一个名称作为参数,则 greeting 变量会包含该名称。如果您不传入名称作为参数,则问候语变量等于“Hello”。

function greet(name) {
  let greeting = "";
  if (name != null) {
    //  Condition is true
    greeting = "Hello, " + name;
  } else {
    //  Condition is false
    greeting = "Hello"
  }
  return greeting;
}  
console.log(greet("Michael"));
"Hello, Michael"
console.log(greet());
"Hello"

数组

JavaScript 方法IsArray检查对象是否为数组。如果是数组,则返回 true。如果不是数组,则返回 false。

在此代码块中,isArray 返回 true:

const colors = ["Red", "Yellow", "Green", "Blue"];
let result = Array.isArray(colors);
  console.log(result);
true

在此代码块中,isArray 返回 false:

const firstName = "Michael";
  console.log(Array.isArray(firstName));
false

JavaScript 数组 push()

push() 方法将新项添加到数组的末尾。

在下面的示例中,我们使用 push 方法将颜色“Orange”添加到颜色数组。

const colors = ["Red", "Yellow", "Green", "Blue"];
colors.push("Orange");
console.log(colors);
["Red","Yellow","Green","Blue","Orange"]

传播算子

w3schools解释说,JavaScript扩展运算符 (...)允许我们快速将现有数组或对象的全部或部分复制到另一个数组或对象中。

下面的示例将两个数字数组合并为一个新的数字数组。

const numberSetOne = [1,2,3,4,5];
const numberSetTwo = [6,7,8,9,10];
const numberSetsCombined = [...numberSetOne, ...numberSetTwo];
console.log(numberSetsCombined);
[1,2,3,4,5,6,7,8,9,10]

在没有扩展运算符的情况下组合两个数字数组,我们最终得到一个嵌套数组(外部数组内部有两个数组),如下例所示。

const numberSetOne = [1,2,3,4,5];
const numberSetTwo = [6,7,8,9,10];
const numberSetOneAndNumberSetTwo = [numberSetOne, numberSetTwo];
console.log(numberSetOneAndNumberSetTwo);
[[1,2,3,4,5],[6,7,8,9,10]]

数组

MDN 网络文档告诉我们Array object,与其他编程语言中的数组一样,可以在单个变量名下存储多个项目的集合,并具有用于执行常见数组操作的成员。

如下所示,我们可以通过使用 const 声明一个变量并将其分配给方括号来在 JavaScript 中创建一个数组。

const myArray = [];

*注意:* 数组不是常量。w3schools解释关键字 const 有点误导。它没有定义常量数组。它定义了对数组的常量引用。因此,我们仍然可以更改常量数组的元素。


Dan的文章部分

现在我们已经介绍了 Dan 的递归函数中使用的所有 JavaScript,是时候让 Dan 教我们如何创建一个了。

以下是 Dan 之前在JavaScriptmas 2022 - 第 3期中关于递归主题的文章部分



本文地址:IT问答频道 https://www.eeeoo.cn/itwenda/903307_2.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小嗨整编
相关文章相关阅读
  • 总结CreateJS的详细介绍

    总结CreateJS的详细介绍

    CreateJS库是一款HTML5游戏开发的引擎,是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低HTML5项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验。掌握了CreateJS可以更方便的完成HTM...

  • jsp文件怎么创建

    jsp文件怎么创建

    创建jsp文件的步骤:1、安装和配置java开发环境;2、安装和配置web服务器;3、创建jsp文件;4、编写jsp代码;5、部署和运行应用程序;6、调试和测试。详细介绍:1、安装和配置java开发环境,首先需要在计算机上安装jdk,可以从...

  • JS怎么获取当前时间戳

    JS怎么获取当前时间戳

    js获取当前时间戳,可以通过date.now()方法来实现,返回自1970年1月1日00:00:00utc以来经过的毫秒数也就是当前时间戳。下面我们就结合具体的代码示例,给大家介绍JS怎么获取当前时间戳。代码示例如下:...

  • nodejs 解决413错误

    nodejs 解决413错误

    在使用node.js开发web应用程序时,你可能会遇到处理大文件上传的情况。然而,当上传的文件太大时,可能会遇到http413请求实体过大的错误。这是因为默认情况下,node.js对请求体大小的限制为100kb。当请求实体大小...

  • js手机号码正则表达式

    js手机号码正则表达式

    正则表达式(regularexpression)是一个描述字符模式的对象。使用javascript正则表达式可以进行强大的模式匹配和文本检索与替换功能。手机号码正则表达式验证。functioncheckPhone(){var...

  • JSF和JavaScript有什么区别

    JSF和JavaScript有什么区别

    区别:jsf是一种用于构建web应用程序的java框架,提供了一种以组件为中心来开发javaweb用户界面的方法,从而简化了开发。而javascript是一种解释型的脚本语言,被广泛用于web应用开发,常用来为网页添加各式各样的动态功能。...

  • js中有哪些事件?js中常用事件的介绍

    js中有哪些事件?js中常用事件的介绍

    javascript使我们有能力创建动态页面。事件是可以被javascript侦测到的行为。网页中的每个元素都可以产生某些可以触发javascript函数的事件。那么,js中有哪些事件呢?本篇文章将给大家来介绍关于js中常用的事件。话不多说...

  • 什么是jsp开发技术

    什么是jsp开发技术

    什么是jsp开发技术?JSP全名为JavaServerPages,中文名叫java服务器页面,是一种动态网页技术。JSP是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptl...

  • 周排行
  • 月排行
  • 年排行

精彩推荐