gpt4 book ai didi

具有不同参数传递的 Javascript 函数

转载 作者:行者123 更新时间:2023-11-30 11:31:51 25 4
gpt4 key购买 nike

最近我看到了一个很好的 javascript 函数示例。请在下面的代码中找到。

function add(a,b){
return (a+b);
}
console.log("Summation is===>",add(1,2));
console.log("Summation is===>",add((1),(2)));

两个打印输出都有一个 3。两个函数参数有什么区别?第二个函数参数与第一个函数参数有何不同?

最佳答案

What is the difference between two function arguments?

什么都没有。除了极少数异常(exception)*,将分组运算符 (()) 放在已经隔离的表达式周围根本没有任何效果。 add(1,2) 中的12 已经隔离。


* 一些(全部?嘿,可能不是)极少数异常(exception):

  1. 如果您想将单个表达式放在 return 中,与 return 分开一行,例如:

    return            // WRONG
    expression;

    你必须像这样在它周围放置 ():

    return (
    expression
    );

    为了防止在换行符所在的 return 之后添加一个 ; 来防止自动分号插入的恐怖,造成一个非常微妙的错误(因为表达式本身return; 之后不是错误,尽管 lint 工具有望帮助您捕获它)。

  2. 如果您在箭头函数上使用简洁的函数体来返回对象初始值设定项的结果:

    () => {foo: "bar"} // WRONG

    您必须将对象初始化器包装在 () 中以避免初始化器的 { 被视为函数体的开头,如下所示:

    () => ({foo: "bar"})
  3. 如果你想在需要语句的地方开始一个函数表达式,你必须在 function 关键字前面加上一些东西,否则它会开始一个函数声明 而不是函数表达式。它可以是告诉解析器从期待语句切换到期待表达式的几件事情中的任何一件,但 () 是一个常见的选择,特别是对于 IIFE:

    (function() { /*...*/})();

旁注:您在 return (a+b); 中使用的分组运算符没有任何效果,因为它是一个孤立的表达式,您没有处理上面的 #1。

关于具有不同参数传递的 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45957411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com