JS基础知识day16 - 关于ES6语法

变量声明的方式:

let / const

共同点

块级作用域

在同一个作用域下,变量名不允许重复

他们声明的全局变量并没有挂在 window对象上

都没有预编译

不同点

let 声明的变量值可以改变

const 声明的变量值不能改变

必须声明后立即赋值 const a = 3.14;

存引用数据类型时,内容可以发生改变(地址不能改变)

优先考虑使用const , 如果变量会发生改变,就使用let , 最后使用var

模板字符串:`${}`

... 展开运算符

        展开数组或者对象  --- 实现深复制

        展开实参列表  -- 取代arguments

解构 --- 把对象或者数组的值取出来

             数组的解构

                 有序的 --- 按照顺序解构即可

                 交换变量的值    

             对象的解构

                 无序的 --- 按照属性进行解构

 箭头函数:

             语法  --- 匿名函数

             简写

                省略小括号 -- 只有一个参数的时候

                省略大括号和return  -- 函数体只有一句代码且有返回值的时候

this指向问题

        this一般是在函数里面出现的

           事件处理函数   事件源

           对象的方法中  对象本身

           其他指向window

           箭头函数 --- 没有自己的指向   跟随父元素

拓展:

        具名函数也有预编译

        赋值式函数没有预编译

        只有匿名函数可以改写成箭头函数

        关于简写

          形参有且只有一个的时候,省略小括号

          当函数体只有一句代码且有返回值的时候 , 省略大括号和return

        注意区别:

          箭头函数中没有arguments

          使用展开运算符接受实参  ...arr   得到的是一个真数组

箭头函数没有自己的this指向,父元素指向谁,箭头函数的this就指向谁

        // 当形参有且只有一个的时候,括号可以省略
        const fn = n => {
            console.log(n);
        }

        fn(5)


        // 有两个参数,不能简写
        const fn2 = (n , m) => {
            console.log(n + m);
        }

        fn(5 , 3)



        // const fn3 = n => {
        //     return ++n ;
        // }

        // 当函数只有一句代码,且有返回值的时候,可以省略大括号和return
        const fn3 = n => ++n ;

闭包:

        function fn() {  
            const a = 1 ;
            const b = 2 ;
            // 向返回多个值的时候,可以返回一个数组
            return [a , b]
        }

        // console.log(fn());
        const [a,b] = fn() ;
        console.log(a , b);

        function fn2() {  
            const c = 3 ;
            return function () {  
                console.log(c);
            }
        }

        // 闭包:一个函数可以访问另一个函数的变量
        // 缺点:内存泄漏导致变量无法被释放

        const res = fn2() ;
        res() ;

        // fn2()()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值