更新记录

1.0.2(2024-04-25)

自用模板,有需要自行修改


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.93 app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × ×

结构赋值

let arr = [1,2,3]
let {a,b,c} = arr
console.log(a,b,c) //1,2,3
let {a,,c} = arr  //不想要的给它空出来就行了
console.log(a,b,c) //1,3  

let arr1 =[1,2,3,4,5,6]//一组很长的数组 
let {a,b,c,...mores} = arr1 //如果结构化上面的arr1 一个一个的写很麻烦,就可以使用扩展运算符... ,mores:随便起的名字 ...mores表示结构剩下的所有
console.log(a,b,c,mores) //1,2,3,4,5,6

let {a,b} = {a:10,b:20}
console.log(a,b) //10,20

let {a=10,b=20} = {a:5,b} //a=10 10表示默认值,当a:5的5为空时,那么a就等于默认值10
console.log(a,b) //5,20

//数组结构
const [max,min,avg] = [100,60,80]
console.log(max) //100
console.log(min) //60
console.log(avg) //80

//对象结构1
let user={
    name:'张三'
    age:20
}
let {name,age} = user
console.log(name,age)//张三,20

//对象结构2
let user=[{
    name:'张三'
    age:20
}]
let [{name,age}] = user
console.log(name,age)//张三,20

let obj1={
    a:123,
    barr:[]
    c:'hellored'
}
let {a} = obj1 
console.log(a)//我只需要obj1中的a那么就可以这么操作
let {a,...res} = obj1 //剩余结构

is() = === //is等价于=== 表示数据是否严格相等 但是===有个缺陷。例如:  NaN===NaN//false     Object.is(NaN,NaN)//true
    console.log(Object.is(NaN,NaN))//true
assign() //对象浅拷贝(对象的合并)  Object.assign(target,obj1,obj2,...) 它会把obj1,obj2,obj3等等数据合并到target中
    console.log(Object.assign({},{a:1},{b:2}))//{a:1,b:2}
let newObj = Object.assign({},{a:1},{b:2}) //返回合并之后的新对象,属于浅拷贝
console.log(newObj)

ES6 带默认参数的函数

add(a=10,b=20){ //a和b不传时取默认参数
 return a+b
}
console.log(add()) //30

add(a,b=20){ 
 return a+b
}
console.log(add(30)) //50

//默认的表达式也可以是一个函数
add(a,b=getVal(5)){ 
 return a+b
}
getVal(val){
    return val+5
}
console.log(add(10)) //20

es6 箭头函数

//es5
let add = function(){
    return a+b
}
//es6
let add =(a,b)=>{
    return a+b
}
//如果参数只有一个值
let add = val=>val  //返回一个val
//如果要运算
let add = val =>(val+5)
//如果参数有2个值
let add = (a+b) =>a+b
//如果没有参数
let add =()=>a 
//如果返回的是对象或数组必须加()
let getObj=id=>({id,name:'张三'})

Symbol类型

使用symbol定义的变量是属于独一无二的,同一个值内存地址不同,用symbol定义的变量可以作为对象的私有属性变量

const a = symbol('zhangsan')
const b = symbol('zhangsan')
console.log(a===b)//false a和b独占一份内存地址所以它两不相等
//例如对象
let s1 =symbol('s1')
let s2 =symbol('s2')
console.log(s1)
let obj = {}
obj[s1] = '张三' //这样给obj赋值也可以
console.log(obj[s1])//张三

let obj1 = {
    [s2]:'李四'
}
console.log(obj1[s2])//李四

set 集合数据类型

set集合:表示无重复值的有序列表

let set = new Set()//创建一个空的集合
//add:添加元素
    set.add('2') 
    set.add(3)
    set.add([0,1,2,3,4])
//delete:删除元素
    set.delete(2)
//has:校验某个值是否在set集合中
    set.has(2)
//size:获取集合的长度
    set.size
//forEach:遍历集合
    set.forEach((val,key)=>{
        console.log(val,key)
    })
//将集合转化为数组
let set2 = new Set([1,2,3,3,3,4,5])
let arr =[...set2]
console.log(arr)//[1,2,3,4,5]

map集合数据类型

map集合:map类型是键值对的有序列表,键和值是任意类型的

let map = new Map()
map.set('name','张三')
map.set('age',20)
console.log(map)
console.log(map.get('name'))//张三
console.log(map.has('name'))//true 

es6语法导入导出

//方式一
export const imgUrl = url => BASE_URL+url
import { imgUrl } from '@/common/util'

//方式二
const imgUrl = url => BASE_URL+url
export{ imgUrl }
import { imgUrl } from '@/common/util'

//方式三
const imgUrl = url => BASE_URL+url
export default{ imgUrl }
import imgUrl  from '@/common/util'

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

注意:自用模板,有需要请对里面的内容进行修改,仅供学习,请勿用作商务用途或从事违法违规等行为,否则后果自负!!!

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问