美文网首页
javaScript之ES6(三)

javaScript之ES6(三)

作者: 夏树大笨熊 | 来源:发表于2018-05-01 12:05 被阅读15次

函数

函数形参的默认值

function fn(x = 'abc'){
  }
 fn();
//abc
//以前的做法
function fn(x){
  if(x === undefined){
  x = 'abc';
 }
  console.log(x);
}

注:

  • 使用解构赋值,可以使用解构的方式设置默认值,也可同时使用
  • 一般将设置默认值的形参放在最后面

函数的length属性

函数的length属性指的是无默认值形参的总数。

function fn(x,y = 1){};
fn.length;
//1

扩展运算符

“ ”将数组转换成以逗号分隔的序列。
var arr = [1,2,3];
console.log(...arr);
//1,2,3

应用:
1 . 函数调用时使用此运算符展开数组,传递实参

function fn (a,b){
 console.log(a*b);
}
 var arr = [1,2];
 fn(...arr);
//3
注:ES6之前使用apply方式调用函数,批量传入参数
fn.apply(null,arr);
//3

2 . 合并数组

var arr1 = [1,2,3];
var arr2 = [4,5];
var arr = [...arr1,...arr2];
//[1,2,3,4,5]
//es5写法
var arr = arr1.concat(arr2);

3 . 解构赋值上的使用
...value放在末尾,用来接收多余的参数,是个数组
const [a,...b] = [1,2,3];
b;
//[2,3]
函数形参也可以使用此方式获取多余参数

function fn(...value){
  console.log(values)
}
 fn(1,2,3);
//[1,2,3]
es6之前arguments获取多余参数

箭头函数

箭头函数用来简写函数,形式(形参)=>{函数体}

var fn = (a,b)=>{
  return a+b
};
//等同于
var fn = function(a,b){
  return a+b;
}

1.当形参只有一个时()可省略
var fn = a=>{return a+1};

  1. 当函数体只有一个语句时,可省略{},此时语句的值会被return
    var fn = a=>a+1;
    注意:
  2. 函数体的this指向函数定义时所在的对象
var obj={
  fn:function(){
    setInterval(()=>{
    console.log(this)
   },1000)
 }
}
obj.fn();
//{fn:f}即为obj
//非箭头函数,指向window
var obj={
    fn:function(){
      setInterval(function(){
      console.log(this)
      },1000)
    }
};
obj.fn();
//window
  1. 不可使用arguments对象;
  2. 不可使用yieid命令,不能用作Generator函数;
    4.箭头函数没哟自己的this,所以不能使用bind,call,apply

相关文章

  • [Decorator] 学习

    # Javascript 中的装饰器 # ES6 系列之我们来聊聊装饰器

  • javaScript之ES6(三)

    函数 函数形参的默认值 注: 使用解构赋值,可以使用解构的方式设置默认值,也可同时使用 一般将设置默认值的形参放在...

  • TypeScript 学习笔记

    学习Typescript 之前 要搞清楚 javascript typescript es6 三者的关系ES6是什...

  • 合集

    JavaScript合集 ES6 ES6新特性原生实现一个promiseSymbol 实例 JavaScript读...

  • ES6 数值的扩展

    本节我们学习 ES6 中的常用数据类型之数值(Number)类型。ES6 中除了 JavaScript 中的六种数...

  • ES6 数值的扩展

    本节我们学习 ES6 中的常用数据类型之数值(Number)类型。ES6 中除了 JavaScript 中的六种数...

  • ECMA、ECMAScript、javascript、ES6、J

    ECMA、ECMAScript、javascript、ES6、JavaScript 引擎、宿主环境、Babel 等...

  • Canvas手机端画板

    技术栈:JavaScript + ES6 三个事件 touchstart:触摸开始touchmove:触摸移动to...

  • Web 前端学习网站汇总

    JavaScript 相关 ECMAScript 6 (ES6), JavaScript 相关链接汇总 Augul...

  • 目录引导

    JavaScript(ES5) JavaScript概述JavaScript 语言核心 ES6 -- ES9 ES...

网友评论

      本文标题:javaScript之ES6(三)

      本文链接:https://www.haomeiwen.com/subject/jusxrftx.html