1.先看一个例子:

 <script>
function show() {
console.log('aluoha');
}
show();
</script>

2. 改写成简单的箭头函数:

    var show = () => console.log('箭头:aluoha');
show();

3. 1 包含return 的常规函数:

         function show() {
return 10;
}
console.log(show());

3.2 包含return 的箭头函数:

错误写法:

      var show = () =>return 10;
console.log(show());

运行结果:

正确写法:

         var show = () => {
return 10;
};
console.log(show());

小结:在箭头函数中,有return 返回值时,需要使用{}把函数体包裹起来

4.1 箭头函数的参数

        var show = val => val;
console.log(show(100));

4.2 只有一个参数也可以写成:

        var show = val => {
return val;
}
console.log(show(10));

4.3 一个参数,也可以加括号()包含:

       var show = (val) => {
return val;
}
console.log(show(100));

4.4 箭头函数,多个参数:

        var add = (a, b) => {
return a + b;
}
console.log(add(10, 20));

4.5 箭头函数不可实例化:

         var show = () => console.log('aluoha');
show();
new show(); //报错

正常函数可以实例化:

         function show() {
console.log('aluoha');
}
show();
new show();

5.1 this指向:

         var show = () => {
console.log(this); //this->window
}
show();

5.2 this调用:实际调用 window.a

         var a = 101;
var show = () => {
console.log(this.a);
}
show();

5.3.1 this指向宿主对象:(不传参)

         var userName = 'global';
function User(name) {
this.userName = name; this.showUserInfo = () => {
return this.userName;
};
this.showName = function() {
return this.userName;
};
}
var oUser = new User();
console.log(oUser.showUserInfo());
console.log(oUser.showName());

5.3.2 传参调用:

         var userName = 'global';
function User(name) {
this.userName = name; this.showUserInfo = () => {
return this.userName;
};
this.showName = function() {
return this.userName;
};
}
var oUser = new User("aluoha");
console.log(oUser.showUserInfo());
console.log(oUser.showName());

es6 初级之箭头函数的更多相关文章

  1. es6初级之箭头函数实现隔行变色

    无论是使用哪种方式实现隔行变色的效果,它的思路都是一样的: 1.定义很多个div 2.给div 加背景 3.鼠标移动到div上时,当前div 背景变色 4.鼠标移出div时,当前div背景恢复 以上4 ...

  2. [js高手之路] es6系列教程 - 箭头函数详解

    箭头函数是es6新增的非常有意思的特性,初次写起来,可能会觉得别扭,习惯之后,会发现很精简. 什么是箭头函数? 箭头函数是一种使用箭头( => )定义函数的新语法, 主要有以下特性: 不能通过n ...

  3. ES6学习之箭头函数

    ES6学习笔记--箭头函数 箭头函数一直在用,最近突然想到重新看一下箭头函数的用法,所以这里做一些总结. 箭头函数长这个样子: let fn = a => a++; // fn 是函数名, a= ...

  4. 前端项目中常用es6知识总结 -- 箭头函数及this指向、尾调用优化

    项目开发中一些常用的es6知识,主要是为以后分享小程序开发.node+koa项目开发以及vueSSR(vue服务端渲染)做个前置铺垫. 项目开发常用es6介绍 1.块级作用域 let const 2. ...

  5. ES6系列之箭头函数

    本系列是在平时阅读.学习.实际项目中有关于es6中的新特性.用发的简单总结,目的是记录以备日后温习:本系列预计包含let/const.箭头函数.解构.常用新增方法.Symbol.Set&Map ...

  6. JS ES6中的箭头函数(Arrow Functions)使用

    转载这篇ES6的箭头函数方便自己查阅. ES6可以使用“箭头”(=>)定义函数,注意是函数,不要使用这种方式定义类(构造器). 一.语法 基础语法 (参数1, 参数2, …, 参数N) => ...

  7. es6学习笔记--箭头函数

    基本用法 ES6允许使用“箭头”(=>)定义函数. var f = v => v; 上面的箭头函数等同于: var f = function(v) { return v; }; 如果箭头函 ...

  8. codewars--js--Reverse or rotate?----es6变量,箭头函数,正则取块

    问题描述: 对输入的str按照sz个数进行分块,若一块内所有数字的立方和是偶数,则倒序:否则,向左移动一位.然后将修改过的块整合到一个字符串,作为输出. The input is a string s ...

  9. 从 ES6 高阶箭头函数理解函数柯里化

    前言:第一次看到多个连续箭头函数是在一个 react 项目中,然鹅确认了下眼神,并不是对的人,因为看得一脸懵逼.em......于是开始各种搜索,先是知道了多个连续箭头函数就是 es6 的多次柯里化的 ...

随机推荐

  1. dubbo项目部署遇到的问题

    部署的项目结构如下: [图片] 1 Socket >>>相关的报错 检查下zookeeper的服务端cmd和客户端cmd是否起来了 2 jdbc.DataSourceProperti ...

  2. [UE4]旋转小地图

    一.Canvas Panel的旋转原点是Render Transform——>Pivot,Pivot坐标的取值范围是0到1,左上角的pivot坐标是[0,0],右下角的pivot坐标是[1,1] ...

  3. IE浏览器强制不是要兼容视图

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...

  4. 在html中用js代替${pagecontext.request.getcontextpath}这样就不用使用jsp了

    var pathArray = window.location.pathname.split('/');  var secondLevelLocation = pathArray[1];  var l ...

  5. Unicode String to a UTF-8 TypedArray Buffer in JavaScript

    https://coolaj86.com/articles/unicode-string-to-a-utf-8-typed-array-buffer-in-javascript/

  6. 思考-Status management and validation(状态管理与验证)

    结合自己的项目,有这么一个模块,这个模块用来添加一个停车场,注册信息又分:基本信息,管理设置,管理员设置3部分组成,每部分都有input=text的输入框,点击保存按钮需要验证各个部分的输入框是否有合 ...

  7. cocos源码分析--SpriteBatchNode绘图原理

    SpriteBatchNode继承Node,并实现了TextureProtocol接口,重写了Node的addChild()方法,visit()方法以及draw()方法. addChild()方法限制 ...

  8. CF603EPastoral Oddities

    /* LCT管子题(说的就是你 水管局长) 首先能得到一个结论, 那就是当且仅当所有联通块都是偶数时存在构造方案 LCT动态加边, 维护最小生成联通块, 用set维护可以删除的边, 假如现在删除后不影 ...

  9. mogoDB工具选择及连接<一>

    最近在某微服务项目中需要用到mogoDB 原因是:开源免费.适合互联网公司.大数据量情况下性能比mysql好 咨询过为啥不用oracle,原因你懂得 --费用 好,言归正传: 1.选择工具,使用工具是 ...

  10. JVM总结-异常处理

    众所周知,异常处理的两大组成要素是抛出异常和捕获异常.这两大要素共同实现程序控制流的非正常转移. 抛出异常可分为显式和隐式两种.显式抛异常的主体是应用程序,它指的是在程序中使用“throw”关键字,手 ...