Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这两种功能有区别吗?_Javascript - Fatal编程技术网

Javascript 这两种功能有区别吗?

Javascript 这两种功能有区别吗?,javascript,Javascript,我下载了一个开源js代码,开发人员经常以这种方式创建新函数: var log = msg => div.innerHTML += "<br>" + msg; var log=msg=>div.innerHTML+=”“+msg; 那么,这和下面的有区别吗 function log(msg){ div.innerHTML += "<br>" + msg; } 函数日志(msg){ div.innerHTML+=“”+msg; } 箭头函数和函数foo(){

我下载了一个开源js代码,开发人员经常以这种方式创建新函数:

var log = msg => div.innerHTML += "<br>" + msg;
var log=msg=>div.innerHTML+=”
“+msg;
那么,这和下面的有区别吗

function log(msg){
   div.innerHTML += "<br>" + msg;
}
函数日志(msg){
div.innerHTML+=“
”+msg; }
箭头函数和
函数foo(){}
函数之间有一些区别。看

我脑海中能想到的几个:

  • function foo(){}
    函数定义被提升,这意味着您可以在包含其定义的范围内的任何位置调用此类函数。对于包含函数的变量,情况并非如此,因为只有声明被挂起
  • 箭头函数以词汇形式绑定
    this
    ,简单地说,这意味着它们不引入自己的
    this
    变量。相反,它们只是从封闭范围中关闭最近的
    变量
  • 箭头功能没有可在主体内使用的功能

综上所述,考虑到上面提到的注意事项,您所展示的两个函数在大多数情况下的行为应该是相同的。

箭头函数和
函数foo(){}
函数之间存在一些差异。看

我脑海中能想到的几个:

  • function foo(){}
    函数定义被提升,这意味着您可以在包含其定义的范围内的任何位置调用此类函数。对于包含函数的变量,情况并非如此,因为只有声明被挂起
  • 箭头函数以词汇形式绑定
    this
    ,简单地说,这意味着它们不引入自己的
    this
    变量。相反,它们只是从封闭范围中关闭最近的
    变量
  • 箭头功能没有可在主体内使用的功能

综上所述,考虑到上面提到的注意事项,您所展示的两个函数在大多数情况下的行为应该是相同的。

箭头函数和
function foo(){}
函数之间存在一些差异。请参阅检查这篇文章箭头函数和
函数foo(){}
函数之间有一些区别。看看这篇文章