【1】ES6中实例对象不能调用静态方法

Java中其实是可以的,虽然IDEA会提示但是编译器会通过。

如下所示,封装一个Toast类(这里以小程序中使用为例):

export default class Toast{
static showToLogin( title, duration) {
wx.showToast({
title: title?title:'请先登录!',
duration: duration ? duration : 2000,
mask: true,
image: "/images/icon/fail.png",
success: function () {
setTimeout(function () {
wx.switchTab({
url: '/pages/my/my',
})
}, duration ? duration : 2000,);
}
});
}

static show(icon, title, duration) {
if (icon === 'loading') {
wx.showToast({
title: title?title:'加载中...',
icon: 'loading',
duration: duration ? duration : 2000,
})
} else if (icon === 'success') {
wx.showToast({
title: title?title:'请求成功!',
icon: 'success',
duration: duration ? duration : 2000,
})
} else if (icon === 'warn') {
wx.showToast({
title: title,
duration: duration ? duration : 2000,
image: '../images/icon/fail.png'
})
} else if (icon === 'fail') {
wx.showToast({
title: title?title:'请求失败!',
duration: duration ? duration : 2000,
image: '../images/icon/fail.png'
})
}
}
}

index.js中引入并测试:

//index.js
import Toast from "../../utils/toast.js";
let toast=new Toast();

onLoad: function () {
toast.show('loading',null,null);
// Toast.showToLogin(null,null);
}

​Toast.showToLogin​​​是ok的,类调用静态方法,java中也一样。但是​​toast.show('loading',null,null);​​​就会报错,如下提示:
ES6使用实践总结_数组
把​​​statis show​​改为show ,也就是非静态方法则OK!

【2】数组的操作

数组遍历-forEach遍历

let split = val.split("_");
split.forEach(function (item,index,array) {
console.log(item);
})

判断数组中是否有某个元素:

split .includes('某个元素') ; // true or false

split .indexOf('某个元素') > -1 // true or false

从数组删除某个元素

// findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
// splice(index,num); index代表的是数组元素的下标位置,num代表的是删除的个数
arr.splice(arr.findIndex(item => item.id === data.id), 1)