1_ES6 基础语法

 

1 let和const的使用

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>

    <script type="text/javascript">
        
        /*

        // es5中声明变量 使用的var
         var a;

        console.log(a);
        // 变量提升
         a= 10;

        // var a;
        // a = 10;
        console.log(a);
        */
        // var  a;
        /*
        // 1.因为变量提升 导致 var声明的变量属于全局作用域 2.var声明的变量存在覆盖现象
        console.log(a);
        {
            var a  = 20;
            var a = 30

        }
        console.log(a);
        */
        /*
        var i;
        for(i = 0; i < 10;i++){

        }

        console.log(i);
        */

        /*
        var a = [];

        // let 声明的变量属于局部作用域 

        for(let i = 0; i < 20; i++){
            a[i] = function() {
                console.log(i);
            }
        };

        a[10]();
        */

        // console.log(a);
        /*
        {
            let  a  =  30;
            let a  = 40;
            //  Identifier 'a' has already been declared
        }
        */

        // console.log(a);

        // 1.const声明的常量,常量一旦声明不可修改 2.局部作用域
        {
        const pai = 3.145926;
        // pai = 20;
        }
        console.log(pai);
    </script>


</body>
</html>

2 模块字符串

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <ul>
          
    </ul>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript">
        

        /*
        // es5的语法
        let name = 'alex';
        let age = 29;

        var desc = name+'是个大sb,今年'+age+'了,鸡汤非常多';
        console.log(desc);
        */

        // es6模板字符串
        let name = 'alex';
        let age = 29;

        var desc = '${name}是个大sb,今年${age}了,鸡汤非常多的点点滴滴';
        console.log(desc);

        var imgSrc = './1.jpg';
        $(function() {
            $('ul').append(,<li>
              <a href="javascript:void(0);">
                  <img src=${imgSrc} alt="">
              </a>
              </li>,)
        });
    </script>

</body>
</html>

3 es6的箭头函数

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script type="text/javascript">
        
        
        /*
        普通函数
        function add(a,b) {
            return a+b;
        };

        alert(add(1,2));
        */
        

        /*
        // 函数对象
        var add  = function (a,b) {
            return a+b;
        };

        alert(add(3,4))
        */

        /*
        var add = (a,b)=>{
            return a+b;
        };
        alert(add(3,7))
        */

        /*
        var person = {
            name:"alex",
            age: 20,
            fav:function () {
                console.log('喜欢AV');
                // this指的是当前的对象
                console.log(this.age);
            }
        };

        person.fav();
        */

        /*
        var person = {
            name:"alex",
            age: 20,
            fav: () => {
                // this的指向发生了改变,指向了定义person的父级对象 window
                console.log('喜欢AV');                
                console.log(this);
            }
        };

        person.fav();
        */
        /*
        var person = {
            name:"alex",
            age: 20,
            fav: function () {               
                console.log('喜欢AV');
                // this指的是当前的对象
                console.log(this);
                console.log(arguments[0])  #可以获取到传入进来的值
            }
        };

        person.fav('哈哈哈');
        */
        var person = {
            name:"alex",
            age: 20,
            fav: (content) =>{
                // this的指向发生了改变,指向了定义person的父级对象 window
                console.log('喜欢AV');
                // this指的是当前的对象
                console.log(this);
                // console.log(arguments) #不能获取到传入进来的参数值了
            }
        };

        person.fav('哈哈哈');

    </script>
</body>
</html>

4 对象的创建

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script type="text/javascript">
        
        // 字面量方式创建对象
        /*
        var person = {
            name:"alex",
            age: 20,
            fav:function () {
                console.log('喜欢AV');
                // this指的是当前的对象
                console.log(this.age);
            }
        };

        person.fav();
        */

        // es6中对象的单体模式
        var person = {
            name:"alex",
            age: 20,
            fav(){
                console.log(this);
                console.log(arguments);
            }
        };
        person.fav();
    </script>
</body>
</html>

5.类的使用

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script type="text/javascript">
        
        /*
        function Person(name,age){
            this.name = name;
            this.age = age;
        }

        Person.prototype.showName = function(){
            alert(this.name);
        };
    
        // 使用new关机字来创建对象

        var p = new Person('alex',19);
        p.showName()
        */


        // es6中创建对象的方式 使用class
        class Person{
            constructor(name,age){
                this.name = name;
                this.age = age;
            }
            showName(){
                alert(this.name)
            }
        };
        var p2 = new Person('张三',20);
        p2.showName();
    </script>
</body>
</html>

 

posted @ 2019-03-07 15:05  前海渔文乐  阅读(115)  评论(0编辑  收藏  举报