首页 > 其他分享 >function函数和箭头函数的区别,用法和功能方面的区别

function函数和箭头函数的区别,用法和功能方面的区别

时间:2024-03-24 17:45:03浏览次数:34  
标签:function 函数 关键字 区别 箭头 普通 构造函数

在 JavaScript 中,普通函数(function functions)和箭头函数(arrow functions)有一些区别,包括用法和功能方面的不同之处:

  1. 语法:

    • 普通函数使用关键字 function 来声明函数,例如:function myFunction() { ... }
    • 箭头函数使用箭头 => 来声明函数,例如:const myFunction = () => { ... }
  2. this 的绑定:

    • 普通函数中,this 的值取决于函数被调用时的上下文。如果在对象方法中调用函数,this 指向该对象;如果直接调用函数,则 this 可能指向全局对象(在浏览器中是 window)。
    • 箭头函数中,没有单独的 this 绑定,它会捕获外层作用域的 this 值。这意味着在箭头函数中,this 的值由外层最接近的非箭头函数的作用域决定。
  3. 返回值:

    • 在箭头函数中,如果函数体只有一条语句且需要返回值,可以省略大括号 {} 和 return 关键字。例如:const sum = (a, b) => a + b;
    • 普通函数需要明确使用 return 关键字来返回值。
  4. 构造函数:

    • 普通函数可以作为构造函数来使用,使用 new 关键字创建实例。
    • 箭头函数不能用作构造函数,因为它没有自己的 this 值。

总的来说,箭头函数通常更简洁,并且在处理函数上下文(this)时表现更加可预测。然而,在某些情况下,仍然需要使用普通函数,比如需要构造函数或者需要动态绑定 this 值的情况。

标签:function,函数,关键字,区别,箭头,普通,构造函数
From: https://www.cnblogs.com/zhanshuang/p/18092716

相关文章

  • 线性筛积性函数
    0.前言积性函数是数论中一种极其重要的函数。它是指对于一个函数\(f(x)\),如果\(\gcd(x,y)=1\),则\(f(xy)=f(x)f(y)\),则\(f(x)\)就是一个积性函数。积性函数大多数可以用线性筛质数的方法筛出来,本文将介绍几种常见的积性函数的筛法及一些拓展。1.线性筛质数大佬可跳......
  • mysql函数
    聚合函数【1】count()统计表中数据的行数或者统计指定列其值不为NULL的数据个数--查询表里有多少个人selectcount(id)fromuser;+-----------+|count(id)|+-----------+|13|+-----------+【2】max()指定列的最大值--查询最高的工资selectmax(s......
  • Hive 时间戳日期函数总结
    说明基于Hive的数据开发工作中,常常用到时间戳,日期各种格式转换,今天抽时间梳理一下。1. 获取当前UNIX时间戳函数:unix_timestampselectunix_timestamp();17112685562、UNIX时间戳转日期函数:from_unixtimeselectfrom_unixtime(1711268371,'yyyyMMdd');--20240324......
  • Loss Function: MSELoss, CrossEntropyLoss
    ......
  • cookie、session、token 区别
    title:cookie、session、token区别search:2024-03-20tags:“#cookie、session、token区别”cookie、session、token区别Tips:他们本质上是不同的,但是都跟维持状态信息有关一、三者在登录业务上的区别维持状态信息:当我们登录之后,如果我们希望后续所有的页面......
  • 八、常用函数
    本章专题脉络1、字符串相关函数1.1字符串的表示方式C语言没有单独的字符串类型,字符串被当作字符数组,即char类型的数组。表示方式如下:方式1:charstr[]="hello";方式2:char*str="hello";1.2两种方式的区别字符指针和字符数组,这两种声明字符串变量的写法基本是......
  • MR以及PR的区别
    MR以及PR的区别MR以及PR的区别背景介绍我一直是管自己的开发分支合并到master这个请求叫做PR(pullrequest),但是360的同事们称之为MR(MergeRequest),我觉得非常的奇怪,本文就对两者的区别进行探究,到底什么才是一个合理的叫法技术要点PR源自于github的叫法有两个使用......
  • C++共享之道:用extern实现源文件变量与类成员函数的巧妙共享
    概述:在C++中,使用`extern`关键字可实现在源文件之间共享变量与类成员函数。通过声明变量或类在头文件中,再在一个源文件中定义,其他源文件通过`extern`引用,促使模块化、可维护的代码组织。在C++中,extern关键字可用于在源文件之间共享变量。它告诉编译器某个变量的声明在其他源文......
  • Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向
    Java基础什么是JavaJava是一种由SunMicrosystems于1995年首次发布的编程语言和计算平台。Java是一种通用的、基于类的、面向对象的编程语言,旨在减少实现依赖性。它是一个应用程序开发的计算平台。Java快速、安全、可靠,因此在笔记本电脑、数据中心、游戏机、科学超级计......
  • 损失函数与优化器:交叉熵损失Adam和学习率调整策略
    非常感谢您的委托,我将尽我所能撰写一篇专业而深入的技术博客文章。作为一位世界级的人工智能专家和计算机领域大师,我将以逻辑清晰、结构紧凑、简单易懂的专业技术语言,为您呈现这篇题为《损失函数与优化器:交叉熵损失、Adam和学习率调整策略》的技术博客。让我们开始吧!1......