Javascript中的几种函数

(1)普通函数:这种函数是咱们平常使用中用的最多的,用function关键字定义的函数.这也是符合多种语言定义的。javascript

function foo(){
    // code
}

(2)箭头函数:用=>运算符定义的函数.这个是ES6的语法。java

const foo = () => {
// code
}异步

(3)方法:在class中定义的函数。async

class C {
    foo(){
        //code
    }
}

(4)生成器函数:用function*定义的函数。函数

function* foo(){
    // code
}

(5)类:用class定义的类,实际上也是函数。spa

class Foo {
    constructor(){
        //code
    }
}

(6)异步普通函数rest

async function foo(){
    // code
}

(7)异步箭头函数code

const foo = async () => {
    // code
}

(8)异步生成器函数对象

async function foo*(){
    // code
}

这里主要介绍下箭头函数:blog

(1)若是箭头函数不须要参数或须要多个参数,能够使用圆括号表明参数部分。

var f=()=>5;

//等同于

var f=function(){return 5 };

 

var sum=(num1,num2)=>num1+num2;

//等同于

var sum=function(num1,num2)

{

 return num1+num2;

}

 

若是箭头函数的代码块部分多余一条语句,就要使用大括号将其括起来,并使用return语句返回

var sum=(num1,num2)=>
{ let c=num1-45
 return c+num2;
}
(2) 因为大括号被解释为代码块,因此若是箭头函数直接返回一个对象,必须在对象外面加上括号。
var getObject=id=>({id:id,name:'test'});
console.log(getObject(4))
输出:{id: 4, name: "test"}
 
箭头函数能够与变量解构结合使用
const full=({first,last})=>first+' '+last;
var person={'first':'22','last':'11'}
console.log(full(person))
 
等同于
var person={'first':'22','last':'11'}
function full(person)
{
  return person.first+' '+person.last
}
console.log(full(person))
(3) 箭头函数的一个用处是简化回调函数。
console.log([1,2,3].map(function(x)
{
return x*x;
}))
等同于
console.log([1,2,3].map(x=>x*x))
结果为:[1, 4, 9]
 
 
var values=[3,2,6,8]
var result=values.sort(function(a,b)
{
return a-b;
})
console.log(values);
等同于
var result=values.sort((a,b)=>a-b)
console.log(values);
结果为:[2, 3, 6, 8]
 
rest参数和箭头函数结合的例子.
const numbers=(...numbes)=>numbes
console.log(numbers(1,2,3,4,5))
结果为:[1,2,3,4,5]
 
 
const headandTail=(head,...tail)=>{return tail}
console.log(headandTail(1,2,3,4,5))
结果为:[2,3,4,5]
相关文章
相关标签/搜索