ES6-函数

306 阅读1分钟

函数

1.创建函数

   有两种方式函数声明和函数表达式
   function b{}   这是函数声明,会被预编译提升到作用域最顶端。
   var m =  function b(){}  这是函数表达式,不会被提升。

2.函数形参与实参的参数传递

   var m=1;  
   function b(a ){}; 
   b(m);   其中m是实参,在调用函数时实参传递进函数,a是形参,是函数声明时定义的。形参的生命周期只存在于函数内。

 此时实参是基本数据类型,被传递到函数f里的形参a里,此时的堆栈是这样的。

 但是要注意,如果实参是引用函数类型,数组,就会变得不一样了。

  a[0]改变的是堆里的值,会导致实参里的数据也改变,当然如果是a=[1,2]就不会发生变化。

3.函数的形参也可以是一个函数。

4.函数返回值

 函数的返回值默认为underfine,如果想要返回多个值,可以在函数里创建一个数组,将要返回的值都保存在数组里,然后将数组返回。
  1. arguments

    arguments是函数内部的属性,只能在函数内部使用,它的作用是收集函数内实参的数据。 只要调用函数,函数内部就会自动生成一个arguments,它虽然像一个数组,但是它并不是一个数组,我们可以像用数组一样使用它。