sort排序

974 阅读1分钟

####sort 方法使函数排序

var numbers = [4, 2, 5, 1, 3];
    numbers.sort(function(a, b) {
        return a - b;
    });
console.log(numbers);
函数体部分,可以用箭头函数简写
numbers.sort((a, b)=> {
        return a - b;
    });
还可以进一步简化
numbers.sort((a, b)=> a - b)
注意这里的箭头函数是作为匿名函数调用的,所以外面的括号不能去掉

##箭头函数:

function fn1() {  console.log(1); }
fn1();
var fn2=function(){  console.log(2);};
fn2();//和fn1一样,注意函数的定义方式,执行才能调用。

var fn3=()=>{  console.log(3);};
fn3();//箭头函数,相当于把function拿掉,后面加上箭头=>,其它都一样
var fn4=()=>4;//如果不传参,必须写个括号,如果返回4可以不要后面的大括号,相当于return 4
var fn5=()=>{return 5};
console.log(fn4());//4
console.log(fn5());//5

var fn6= a =>a*2;
console.log(fn6(6));//12
//如果只穿一个参数,可以不加小括号,也可以加,这时候返回的就是参数运算。
var fn7=(b)=>b*3;
console.log(fn7(7));//21

var fn8=(c,d)=>c+d*2;
console.log(fn8(2, 3));//8

var fn9=(e,f)=>({num:e+f});
console.log(fn9(1, 2));//{num: 3}如果返回的是一个对象,必须用小括号括起来。

箭头函数里的this绑定的是所定义的作用域中的this 不可以当做构造函数 不可以使用arguments对象