小程序中的箭头函数的具体使用

(编辑:jimmy 日期: 2024/10/31 浏览:2)

这个是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()
  })();
 }
})

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。