JQuery onclick处理程序语法



在SO上发布另一个问题时,我注意到旁边的广告是这样写的:

$('#apply-now').on('click', () => {new GreatCareer()});
/* Invoke and submit your resume */

现在,() => {new GreatCareer()}的那一点对我来说是新的。我在那个地方见过匿名或命名函数。这个语法到底是什么意思?

这是新的ECMAScript 6箭头函数语法:

    var a = [
      "Hydrogen",
      "Helium",
      "Lithium",
      "Beryl­lium"
    ];
    // initial sytax
    var a2 = a.map(function(s){ return s.length });
    // arrow function sytax
    var a3 = a.map( s => s.length );

//没有参数的函数需要括号:()=> {语句}

,因此()表示函数的空参数,并且根据新的语法,省略了function关键字。

SO $('#apply-now').on('click', () => {new GreatCareer()});

意味着

$('#apply-now').on('click', function(){ return new GreatCareer(); });

这是lambda表示法,只是定义函数的另一种方式。

更多细节在这里:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

相关内容

  • 没有找到相关文章

最新更新