小程序中的箭头函数的具体使用
这个是ES6的箭头函数,res =>可以理解为function(res)
箭头函数的最大好处就是省略了var that=this 从而将this改为静态。
var 函数名 = 参数名 => 返回值;
var f = v => v; //等同于 var f = function(v){ return v; };
如果不需要参数或有多个参数,要使用圆括号
var f = () => 5; var sum = (num1,num2) => num1+num2;
如果函数的代码多于一条,就必须使用大括号将其括起来,并使用retun语句
var sum = (num1, num2) => { return num1 + num2; }
如果函数返回一个对象,那么必须用圆括号将其括起来
let getTempItem = id => ({ id: id, name: "Temp" });
箭头函数可以简化回调函数
如果在小程序中直接使用箭头函数的话会导致 this 丢失。
代码如下:
Page({ onLoad: () > { console.log(this) // 此时的 this 并不指向当前 page } })
那么这种情况下,想要实现很多功能都很不方便了, 比如接受参数根据参数拉去信息等。
我的解决方案很简单,使用立即执行函数
代码如下:
Page({ onLoad: function() { let that = this ;(async () => { console.log(that) // 使用that,that 的作用域依然是 page 对象 // 欢乐的调用其他的任何操作,还能享用异步同步写法 await that.login() await that.query() })(); } })
到此这篇关于小程序中的箭头函数的具体使用的文章就介绍到这了,更多相关小程序箭头函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
箭头函数是ECMAScript 6最受关注的更新内容之一.它引入了一种用「箭头」(=>)来定义函数的新语法,它-它碉堡了~.箭头函数与传统的JavaScript函数主要区别在于以下几点:1.对 this 的关联.函数内置 this 的值,取决于箭头函数在哪儿定义,而非箭头函数执行的上下文环境.2.new 不可用.箭头函数不能使用 new 关键字来实例化对象,不然会报错.3.this 不可变.函数内置 this 不可变,在函数体内整个执行环境中为常量.4.没有arguments对象.更不能通过ar
-
浅谈箭头函数写法在ReactJs中的使用
ES7中的箭头函数写法真的是很方便,而现今ReactJs又非常流行而且好用,非常适合有Java面向对象经验的同学学习和使用,在使用Reacjs构建组件时,如果想要使用箭头函数写法定义函数该怎么办呢? 首先,如果你直接在React组件中使用箭头函数写法定义函数,编译是不会通过的,会报出语法错误. ERROR in ./modules/Repos.js Module build failed: SyntaxError: E:/AllWorkSpace/react-router/trunk/lesso
-
javascript ES6中箭头函数注意细节小结
前言 ES6标准新增了一种新的函数:Arrow Function(箭头函数). 为什么叫Arrow Function?因为它的定义用的就是一个箭头: x => x * x 上面的箭头函数相当于: function (x) { return x * x; } 但箭头函数带来了些许问题,下面来一起看看吧. 关于{} 第一个问题是关于箭头函数与{}. 箭头函数,乍一看,用法似乎很简单,比如像下面这样用来给数组每一项乘以2: const numbers = [1, 2, 3]; const result
-
深入浅出ES6新特性之函数默认参数和箭头函数
1.函数参数的默认值 ES5中不能直接为函数的参数指定默认值,只能通过以下的变通方式: 从上面的代码可以看出存在一个问题,当传入的参数为0或者false时,会直接取到后面的值,而不是传入的这个参数值. 那怎么解决呢?对于上图的代码,可以通过判断是否传入了num参数,没有就用默认值: 这种做法还是很麻烦的,而ES6则直接在参数定义里面设置函数参数的默认值,而且不用担心传入参数是0或者false会出错了: 2.箭头函数 箭头函数用 => 符号来定义. 箭头函数相当于匿名函数,所以采用函数表达式的写法
-
解析vue data不可以使用箭头函数问题
首先需要明确,a() {}和 b: () => {}是不同的 let obj = { a() {}, // 相当于 a:function() {}, b: () => {} } 1 VUE.js 源码解析 注意此处只设计核心代码 这段代码也是UMD实现原理,本文这里不是重点,有兴趣的可以自行探究. (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined'
-
深入理解React中何时使用箭头函数
前言 相信大家当想起箭头函数时,脑海里可能会浮现 棒,酷,简洁,有趣 等形容词,其实,我们存在一些 更充分的理由 使我们在联想起 箭头函数 时不得不想到的,本文详细的给大家介绍了关于React何时使用箭头函数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 解决 this 引起的问题 箭头函数不会在函数体内重新定义 this 的值,这使得在回调中的行为更容易预测,并且避免了 this 在回调中潜存的 bug 下面我们来看一个 example 我们期望点击按钮,改变按钮颜
-
深入理解JavaScript中的箭头函数
从一开始箭头就是 JavaScript 的一部分,在第一个 JavaScript 中就建议将内联的脚本代码包裹在 HTML 的注释中,这可以防止那些不支持 JavaScript 的浏览器错误滴将你的代码显示为明文.你也许写过下面这样的代码: <script language="javascript"> <!-- document.bgColor = "brown"; // red // --> </script> <scri
-
JavaScript箭头函数中的this详解
前言 箭头函数极大地简化了this的取值规则. 普通函数与箭头函数 普通函数指的是用function定义的函数: var hello = function () { console.log("Hello, Fundebug!"); } 箭头函数指的是用=>定义的函数: var hello = () => { console.log("Hello, Fundebug!"); } JavaScript箭头函数与普通函数不只是写法上的区别,它们还有一些微妙的不
-
JavaScript ES6箭头函数使用指南
胖箭头函数(Fat arrow functions),又称箭头函数,是一个来自ECMAScript 2015(又称ES6)的全新特性.有传闻说,箭头函数的语法=>,是受到了CoffeeScript 的影响,并且它与CoffeeScript中的=>语法一样,共享this上下文. 箭头函数的产生,主要由两个目的:更简洁的语法和与父作用域共享关键字this.接下来,让我们来看几个详细的例子. 新的函数语法 传统的JavaScript函数语法并没有提供任何的灵活性,每一次你需要定义一个函数时,你都必须
-
深入理解Javascript箭头函数中的this
首先我们先看一段代码,这是一个实现倒数功能的类「Countdown」及其实例化的过程: function Countdown(seconds) { this._seconds = seconds; } Countdown.prototype._step = function() { console.log(this._seconds); if (this._seconds > 0) { this._seconds -= 1; } else { clearInterval(this._timer)
-
ES6中的箭头函数实例详解
本文实例讲述了ES6中的箭头函数.分享给大家供大家参考,具体如下: 语法 我们先来看看箭头函数的语法: ([param] [, param]) => { statements } param => expression param 是参数,根据参数个数不同,分这几种情况: () => { - } // 零个参数用 () 表示: x => { - } // 一个参数可以省略 (): (x, y) => { - } // 多参数不能省略 (): 示例 我们再来看看一些示例,看看在
-
ES6中箭头函数的定义与调用方式详解
本文主要介绍的是关于ES6箭头函数的定义与调用方式的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 基本用法: ES6中允许使用"箭头"(=>)定义函数 var f = v => v; 上面代码相当于: var f = function( v ) { return v; } 根据箭头函数有参数和无参数来区分 1.无参数的箭头函数 var f = () => 5; 等同于 var f = function() { return 5}; 2.有参数的箭头函数 v
随机推荐
- Delphi 实现软件自动升级的功能
- Ubuntu下安装Go语言开发环境及编辑器的相关配置
- php基于redis处理session的方法
- java数据结构之java实现栈
- 合并ThinkPHP配置文件以消除代码冗余的实现方法
- javascript 正则 判断是否是数字的脚本
- Python yield 使用浅析
- 在Python的Django框架中生成CSV文件的方法
- go语言实现通过FTP库自动上传web日志
- 程序员学英语的一个方法
- IBM DB2 日常维护汇总(七)
- 浅谈Web下的即时寻呼技术
- 数组Array的排序sort方法
- bootstrap 下拉多选框进行多选传值问题代码分析
- JavaScript根据CSS的Media Queries来判断浏览设备的方法
- 操作SD卡中文件夹和文件的方法
- Java编程实现轨迹压缩之Douglas-Peucker算法详细代码
- 解决Vue 通过下表修改数组,页面不渲染的问题
- Java子类对象的实例化过程分析
- mysql数据库如何实现亿级数据快速清理