JavaScript学习总结

学习ES6的总结:

1.  let、const、var的区别:
- let:  (1)作用域: 块级作用域,声明在块级作用域内的变量,只在该块级作用域内有效。
         (2)声明提升: 不允许在声明前 提前使用(变量提升)
         (3)重复声明:在同一作用域内不允许重复声明同一个变量,否则会抛出SyntaxError错误
         (4)重新赋值:重新赋值会重新复制一份新的变量。

- const: (1)作用域: 块级作用域,声明在块级作用域内的变量,只在该块级作用域内有效。
             (2)声明提升: 不允许在声明前 提前使用(变量提升)
             (3)重复声明:在同一作用域内不允许重复声明同一个变量,否则会抛出SyntaxError错误
             (4)重新赋值:一旦赋值后,其值就不能被重新赋值
             (5)常量: 常量的值不能被修改,只能赋值一次。     
- var: (1)作用域:拥有函数作用域或全局作用域。无论变量在何处声明,都会被视为声明在其所在                              的函数内部,如果不在函数内部,则视为全局变量
         (2)声明提升:会被提升到其作用域的顶部,这意味着无论变量在何处声明,它都会被视为在                                 作用域的最开始处声明
         (3)重新声明: 允许在同一个作用域内重复声明同一个变量,但后面的声明会覆盖前面的声明
         (4)重新赋值:重新赋值会重新复制一份新的变量
2.对数组的解构以及赋值:
                 对数组解构:const names=['蔡徐坤','范丞丞','朱正廷','陈立农']
                     let [a,b,c,d]=names;
                     console.log(a)
                     console.log(b)
                     console.log(c)
                     console.log(d)
   对对象解构:const goods={
                    name:'苹果',
                    sal:10,
                    message:function(){
                   console.log('这是一个苹果')
                }
           }
                 let {name,sal,message}=goods;
                 console.log(name)
                 console.log(sal)
                 message()

3.模板字符串
       创建字符串的方式:  1. 单引号 2. 双引号 3. 反引号` `字符串中可以插入变量,变量可以用${} 包裹

4. 箭头函数的声明以及基本语法结构
       (1)箭头函数的声明:箭头函数使用=>声明
       (2)基本语法结构:  函数名 (参数)=>{函数体}
       (3)this的绑定:箭头函数没有自己的this,它的this绑定的是外层作用域的this。
       (4)不能用作构造函数:由于箭头函数不绑定自己的this,因此它们不能用作构造函数(即不能                new 关键字)
       (5)适用于回调函数和计时器
5.函数的参数设置:
       (1)对函数参数解构:
                  function getConnection(host,username,password,pord="3307"){
                       console.log(host)
                       console.log(username)
                       console.log(password)
                       console.log(pord)
                      }
                 getConnection({host:"localgost",username:"root",password:"123456",pord:3306})
       (2)支持rest参数:
                rest参数必须作为最后一个参数,它代表了所有剩余的参数
                 function myFunction(a, ...rest) {  
                          ........
                                   } 
       (3)arguments对象:是一个类数组对象,包含了传递给函数的所有参数  
                function date(){
                     console.log(arguments)
                 }
                date('蔡徐坤','陈立农','范丞丞','朱正廷')
                 输出:Arguments(4) ["蔡徐坤", "陈立农", "范丞丞", "朱正廷"]
6.Symbol:
        Symbol是ES6提供的新的数据类型,是在es5的6种数据类型的基础上增加的第7种数据类型
        es5的6种数据类型
          string number boolean Ogject undefined null
        es6的新数据类型
          Symbol
        特征:
          Symbol是不可改变且唯一的,可以防止变量名冲突
          Symbol不能与其他数据类型进行运算,但是可以和Symbol进行比较
          Symbol定义的对象属性,无法使用for循环遍历
         其他: Ogject.assign():
                              Object.assign():方法是浅拷贝,如果属性值是对象,则只拷贝引用地址,不                                                              会拷贝对象本身
                    Object.getOwnPropertySymbols():
                              getOwnPropertySymbols获取对象中Symbol修饰的属性列表

7.迭代器:
       迭代器是一种接口,用来访问集合对象的元素,迭代器对象可以用来遍历数组或者其他类似集合的对象。
           例如 const obj1={
            name:"小强",
            like:[
                "吃饭",
                "玩游戏",
                "旅游",
                "篮球",
                "足球"        
                 ],
            [Symbol.iterator](){
                let index=0;
                let _this=this; 
                return {
                    next:function(){
                        if(index<_this.like.length){
                            const result={value:_this.like[index],done:false}
                            index++;
                            return result;
                        }else{
                            return {value:undefined,done:true}
                        }
                    }
                }
            }
        }
        for(let v of obj1){
            console.log(v)
        }
        依次打印 "吃饭", "玩游戏", "旅游", "篮球", "足球"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值