为什么这个箭头功能起作用?

时间:2017-10-31 11:01:32

标签: javascript arrow-functions

我正在探索箭头功能,我想出了这个基本的例子,我只需要了解下面的工作方式

var getServer = () => {
    if(document.getElementById('server')){
        var serverHTML = document.getElementById('server');
        serverHTML.innerHTML = "Server: " + window.location.host;
    }
    if(document.getElementById('serverxs')){
        var serverHTMLxs = document.getElementById('serverxs');
        serverHTMLxs.innerHTML = "Server: " + window.location.host;
    }
};

getServer = () =>部分令人困惑的是,空括号是如何正确的?或者我错了。

赞赏任何文件或答案

2 个答案:

答案 0 :(得分:3)

您可以“阅读”此类箭头功能

(par1, par2) => "value"

变成

function(par1, par2){ return "value"; }

所以:

() => 

变成一个没有传递参数的函数。 一个例外是当一个参数传递给箭头函数时,所以:

param=>{ return value; }
// turns into
function(param){ return value; }

答案 1 :(得分:1)

它是一个功能 不带参数 ,作为短/箭头功能:

var getServer = () => { /* ... */ }
// matches
var getServer = function (){ /* ... */}

// Example:
var example = function (foo, bar){ return foo;}
// matches
var example = (foo, bar) => { return foo;}

There are some caveats though,您可能需要查看。