ES6

作者: 兔子___ | 来源:发表于2018-07-20 19:58 被阅读0次

    ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现

    var不局限作用域
    let,const局限作用域,不可重复声明
    接下来ES6主角登场:
    我们通常用let和const来声明,let表示变量、const表示常量。let和const都是块级作用域。
    说白了{}大括号内的代码块即为let 和 const的作用域。
    const 声明的变量都会被认为是常量,意思就是它的值被设置完成后就不能再修改了。
    还有,如果const的是一个对象,对象所包含的值是可以被修改的。抽象一点儿说,就是对象所指向的地址没有变就行。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
            
        </body>
        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
        <script>
            const student = { name: 'cc' }
            // 没毛病
            student.name = 'yy'
            // // 如果这样子就会报错了
            // //student  = { name: 'yy' }
            console.log(student);
            //结果:输出10次10
            /*var funcs = []
            for (var i = 0; i < 10; i++) {
                funcs.push(function() { console.log(i) })
            }
            funcs.forEach(function(func) {
                func()
            })*/
    
            // ES5告诉我们可以利用闭包解决这个问题
            /*var funcs = []
            for (var i = 0; i < 10; i++) {
                funcs.push(
                  (function(value) {
                    return function() {
                        console.log(value)
                    }
                })(i)
              )
            }
            funcs.forEach(function(func) {
                func()
            })*/
            // 再来看看es6怎么处理的
            const funcs = []
            for (let i = 0; i < 10; i++) {
                funcs.push(function() {
                    console.log(i)
                })
            }
            funcs.forEach(func => func())
    
                //es6
            const name = 'happy'
            console.log(`hello ${name}`) 
            //对于字符串ES6当然也提供了很多厉害也很有意思的方法😊 说几个常用的
            console.log(name.includes('y')) //返回bool值
    
            function action(num) {
                num = num || 200
            console.log(num)
            //当传入num时,num为传入的值
            //当没传入参数时,num即有了默认值200
                return num
            }   
            action(11)
        </script>
    </html>
    

    相关文章

      网友评论

          本文标题:ES6

          本文链接:https://www.haomeiwen.com/subject/nmoqmftx.html