不同参数传递的Javascript函数

问题描述:

最近我通过javascript函数的一个很好的例子。请在下面的代码中找到。不同参数传递的Javascript函数

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

两个打印输出有3 是哪两个函数参数之间的区别?第二个函数参数与第一个函数的区别

+1

LISP程序员创建了这些示例? – Teemu

两个函数参数有什么区别?

没有什么。除了极少数例外*之外,将分组运算符(())围绕已经分离的表达式完全不起作用。已经分离出12中的add(1,2)


*有些(所有嘿,也许不是?)的极少数例外的

  1. 如果你想把一个表达的return在单独一行从返回如:

    return   // WRONG 
        expression; 
    

    你必须把()围绕这样的:

    return (
        expression 
    ); 
    

    ,以防止恐怖即自动插入分号从加入;return换行符在哪儿是,创造一个非常微妙的错误(因为对自己的表现后return;是不是一个错误,虽然皮棉工具会希望能帮助你抓住它)。

  2. 如果您在使用上的箭头功能简洁的身体恢复的对象初始化的结果:

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

    你必须包装对象初始化中()避免初始化的{是作为一个函数体的开始,像这样:

    () => ({foo: "bar"}) 
    
  3. 如果你想开始一个函数表达式,其中一份声明中预计,你必须把东西在前关键字,否则将启动功能声明而不是函数表达式。它可以是任何的几件事情是告诉解析器从期待语句期待的表情切换,但()是一种常见的选择,特别是对于IIFE:

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

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