专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

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期中关于递归主题的文章部分



本文地址:百科问答频道 https://www.neebe.cn/wenda/903307_2.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • JS 字符串转数组

    JS 字符串转数组

    JS中,将一个字符串转置为数组,使用到的方法是split(),通过使用split()方法,可以轻松的将一个字符串转换为数组操作方法01新建一个HTML文档,用于承载JS02...

  • doT.js是什么

    doT.js是什么

    doT.js是一个JavaScript模板框架,在web前端使用dot.js作为模板引擎,主要的用途就是,在写好的模板上,放进数据,生成含有数据的html代码。doT.js是一个JavaScript模板框架,在web前端使用do...

  • JsRender是什么

    JsRender是什么

    JsRender是jQuery模板,专为高性能的纯字符串渲染而优化,无需DOM和其他jQuery依赖。允许定义一次样板结构并重复使用它来动态生成HTML。JsRender是jQuery模板,专为高性能的纯字符串渲染而优...

  • js代码大全,常用js代码代码示例

    js代码大全,常用js代码代码示例

    js代码大全,常用js代码代码示例做为开发过React/ReactNative的工程师,在刚开始接触Flutter开发的时候,一定会遇到这种情况,对于某个功能你能很熟练使用特定Javascript语法去完成,但是对于Flutter开发,对应...

  • jstl是什么,JSP标准标签库jstl

    jstl是什么,JSP标准标签库jstl

    jstl是什么,JSP标准标签库jstlJSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。除了这些,它还提供了一...

  • js教程,JavaScript学习入门教程

    js教程,JavaScript学习入门教程

    js教程,JavaScript学习入门教程JavaScript(通常缩写为JS)是一种解释型、面向对象、多范式的高级编程语言。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)...

  • jscript和javascript的区别

    jscript和javascript的区别

    JavaScript与JScript的区别JScript是Microsoft公司开发的,Javascript是Netscape公司开发的,虽然他们是死对头,但是在现在的浏览器中,无论你把语言指定为Javascript还是Jscript,浏览...

  • php递归函数的例子,php递归函数用法详解

    php递归函数的例子,php递归函数用法详解

    php递归函数的例子,php递归函数用法详解,有关php递归函数的用法,分享几个php递归函数的例子,在php编程中,使用递归进行函数调用很常见,递归函数用的好,可以提高代码效率,通过例子学习php递归函数的使用。...

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

精彩推荐