函数(一)定义与参数

本文对应《JavaScript忍者秘籍》第3章内容。

1.函数式编程

函数是第一类对象。

函数和对象

共性:

  • 通过字面量创建。
  • 赋值给变量、数组项,或其他对象属性。
  • 作为参数传递给函数。
  • 作为函数的返回值。
  • 具有动态创建和分配的属性。

个性:

  • 函数是可调用的。

回调函数

函数会被其他函数在稍后的某个时间点“再回来调用”。
升序排序:

var values=[1,1,4,5,1,4];
values.sort(function(v1,v2){
  return v1>v2;
});

2.函数作为对象

可以给函数添加属性。

3.函数定义

4类定义函数的方式:

  • 函数定义和函数表达式
function f(){
  return 1;
}
var g=function(){
  return 2;
}
  • 箭头函数
x=>x*x
  • 函数构造函数(不常用)
new Function('a','b','return a+b');
  • 生成器函数
function* gen(){
  yield 1;
}

函数定义和函数表达式

立即函数

(function(x){
  return x+1;
})(3);

也可以加运算符+ - ! ~来指明它是表达式而不是函数定义语句。

+function(x){return x+1}(3);

箭头函数

var values=[1,1,4,5,1,4];
values.sort((v1,v2)=>v1>v2);

参数多于一个,需要加括号。
函数体多于一句,需要写成代码块,并显示包含return

4.实参与形参

实参的数量大于形参的数量,多余的实参并没有用。
形参的数量大于实参的数量,没有对应实参的形参会设为undefined

剩余参数

剩余参数是一个Array的实例。

function sum(...rest){
  var sum=0;
  rest.forEach(v=>sum+=v);
  return sum;
}

默认参数

function FofC(c=37){
  return c*9/5+32;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容