前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VUE基础讲解

VUE基础讲解

原创
作者头像
叶秋学长
发布2022-07-17 10:50:58
2980
发布2022-07-17 10:50:58
举报
文章被收录于专栏:全栈学习专栏全栈学习专栏

今天叶秋学长带领小伙伴们一起学习ES6,废话不多说我们开始学习吧~~

1.const常量
  • 使用const声明常量(不会变),不能再次赋值
  • 确保声明常量不会被修改
  • 不可以重复声明
  • 常量的含义,指向的是对象,这个对象是不能修改,但是对象里面属性值
2.let和var
  • let是更完美的var 不可以重复声明 var name = "张三"; var name = "李四"; let age = 18; age = 20; console.log(age); // let age = 20 ​ let sex; sex = "男"; console.log(sex);
  • let块级作用域 var li = document.querySelectorAll("li"); // for(var i= 0;i<li.length;i++){ // (function(i){ // li[i].onclick = function(){ // console.log(i); // } // })(i) // } for (let i = 0; i < li.length; i++) { li[i].onclick = function () { console.log(i); }; }
  • let没有变量提升 console.log(hobby); //undefined,变量提升 var hobby = '唱歌'; ​ console.log(like); //报错,没有变量提升 let like = '唱歌';
  • let暂时性死区 代码块内,使用let命令之前,该变量都是不可以用的,语法上叫做暂时性死区
3.对象字面量的增强写法

字面量:赋值的时候,等号右边的值,我们叫它字面量

对象增强写法:键值命名一致

代码语言:javascript
复制
const name ="张三"
const age = 18
const sex =  '男'
const obj = {
    // name:name,
    name,//增强写法
    age,
    sex
}
console.log(obj);
4.解构赋值

概念:解构赋值允许我们使用类似数组或者对象字面量的语法给变量赋值

(1)数组解构
  • 数组的每一项数据,对应放入变量当中 const arr = [111, 222, 333]; // let fir = arr[0]; // let sec = arr[1]; // let thi = arr[2]; // console.log(fir, sec, thi); // 解构赋值 const [fir, sec, thi] = arr; console.log(fir, sec, thi);
  • 预留位置 const [, sec, thi] = arr // 预留 console.log( sec, thi);
  • 后两位单独封装 const [fir,...newArrs] = arr; console.log(fir,newArrs); ...叫做扩展运算符
  • 数组的相互赋值,修改数据 // const afterArr = arr const afterArr = [...arr] //单独开辟空间 afterArr[0] = '我是笨蛋' console.log(arr,afterArr);
  • 合并数组 const arrA = [11,22,33] const arrB = [44,55,66] // const arrC = arrA.concat(arrB)//内置对象 const arrC =[...arrA,...arrB] arrC[0] = 000 console.log(arrA,arrB); console.log(arrC);
  • 交换位置 let a = 1; let b = 2; // let as; // as = a // a = b // b = as [a,b] = [b,a] console.log(a,b);
(2)对象解构
  • 数据逐一放到变量里 const user = { name:"康康", age:18, hobby:'跳舞' } // const {name(属性名):name(设置的变量名),age:age} = user const {name,age} = user//增强写法 console.log(name,age);
  • 赋值修改 const newUser = {...user,name:"张三",sex:"男"} console.log(newUser,user);
  • 默认值的设定 const user = { name:"康康", age:18, hobby:'跳舞' } // const {hobby:hobby='唱歌'} = user const {hobby='唱歌'} = user//设置默认值 console.log(hobby);
5.循环方法:高阶函数之 filter/map/reduce
(1)循环方法
代码语言:javascript
复制
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
​
for (let i in arr) {
console.log(arr[i]);
}
​
for (let item of arr) {
console.log(item);
} //拿不到索引
​
arr.forEach(function (item, index) {
console.log(item, index);
});
(2)filter(callback)

功能:过滤数据

callback:回调函数,返回是布尔值

true情况下,数据存入数组,

false情况下,不返回数据

代码语言:javascript
复制
const arr  = [111,559,454,12,15,78,9,45,456]
const newArr  = arr.filter(function(item){
    console.log(item);
    return item >100
})
console.log(newArr);
(3)map(callback)

功能:计算

callback:回调函数,返回计算的结果

代码语言:javascript
复制
const countArr = newArr.map(function(item){
    console.log(item);
    return item/ 2
})
console.log(countArr);
(4)reduce(callback,value)

功能:统计

callback(pre,item)

value:初始值

代码语言:javascript
复制
const total = countArr.reduce(function(pre,item){
    console.log(pre,item);
    return pre+item
},0)
console.log(total);
6.箭头函数

概念:定义函数的方法

  • 箭头函数的使用 const next = ()=>{ // 代码块 console.log('箭头函数'); } next()
  • 参数情况
    • 没有参数 const next = ()=>{ // 代码块 console.log('箭头函数'); } next()
    • 一个参数 const next = res=>{ // 代码块 console.log(res); } next(123)
    • 多个参数 const next = (a,b)=>{ // 代码块 console.log('箭头函数'); } next(1,2)
    • 代码块只有一行的时候 const next = (a,b)=>console.log('箭头函数'); next(1,2)
7.this指向问题
  • 函数调用的时候,BOM方法,this指向window
  • 事件:this的指向,事件源
8.promise

概念:解决异步编程的方案

回调地狱:上一个接口还没有走完,下一个接口已经开始了,但是下一个接口需要上一个接口的数据

如果请求很多的话,就会出现回调地狱

  • promise的使用 参数:resolve,reject resolve:返回成功值,.then进行数据捕获 reject:返回失败值,.catch捕获失败的数据 格式:new Promise(callback)
  • promise三种状态 pendding:等待状态,等待请求数据结束,或者定时器结束 fullfill:满足状态:说明成功,resolve rejet:拒绝状态:说明失败,reject new Promise((resolve, reject) => { setTimeout(() => { resolve(111); }, 1000); }).then((res) => { console.log(res); return new Promise((resolve, reject) => { setTimeout(() => { // console.log(res); resolve(222); }, 1000); }).then(res=>{ console.log(res); }) });
  • promise.all 使用场景处理多个异步时候
代码语言:javascript
复制
Promise.all([
    new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(333);
        }, 1000)
    }),
    new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(444);
        }, 1000)
    }),
]).then(res=>{
    console.log(res);
})

本期分享到此为止,别忘了给博主点点关注,关注博主不迷路,叶秋学长带你上高速

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 今天叶秋学长带领小伙伴们一起学习ES6,废话不多说我们开始学习吧~~
    • 1.const常量
      • 2.let和var
        • 3.对象字面量的增强写法
          • 4.解构赋值
            • 5.循环方法:高阶函数之 filter/map/reduce
              • 6.箭头函数
                • 7.this指向问题
                  • 8.promise
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档