小程序
小游戏
企业微信
微信支付
扫描小程序码分享
比如在wxml文件中有:
<view class = "right button" bindtap = "addLog" data-add="1">+1</view>
在Page里可以addLog是不是可以写成:
addLog(event){ ... }
也可以写成
addLog : function(event){ ... }
这两者有什么区别吗? 为什么第一个可以没有function呢?
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
第一种写法是ES6的对象方法简写,第二中是传统的ES5的对象方法写法:
ES5写法:
const obj = { fun: function(res) { ... } }
ES6对象方法简写:
const obj = { fun(res) { ... } }
而Page的参数就是传入一个对象,像data、onLoad...都是对象的属性和方法:
Page({ data: { }, onLoad: function(e) { ... } })
所以onLoad等对象方法都是可以简写的:onLoad(res){ ... }
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
第一种简写形式
反正打包时勾选了es6转es5后都给你转换成function的方式了
效果一样的,基本没有区别。第一种:addLog(event){ ... } 是ES6新增的一种简化的写法。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
第一种写法是ES6的对象方法简写,第二中是传统的ES5的对象方法写法:
ES5写法:
const obj = { fun: function(res) { ... } }
ES6对象方法简写:
const obj = { fun(res) { ... } }
而Page的参数就是传入一个对象,像data、onLoad...都是对象的属性和方法:
Page({ data: { }, onLoad: function(e) { ... } })
所以onLoad等对象方法都是可以简写的:onLoad(res){ ... }
第一种简写形式
反正打包时勾选了es6转es5后都给你转换成function的方式了
效果一样的,基本没有区别。第一种:addLog(event){ ... } 是ES6新增的一种简化的写法。