一些基础的ES6 语法

<script>
    window.onload = function () {
        //---------------------------let-----------------------------------
        //ES5 
        //var name = 'zach';
        //while (true) {
        //    var name = 'obama';
        //    console.log(name);
        //    break;
        //}
        //console.log(name);
        //ES6 学习篇之let(使用场景 当需要使用到块级作用域的时候使用let 来修饰变量而在ES5中只有全局作用域和函数作用域)
        //let name2 ='zach';
        //while(true){
        //    let name2='obama';
        //    console.log(name)
        //    break
        //}
        //console.log(name2)
        //引用场景之二
        //var b=[];
        //for (var i = 0; i < 10; i++) {
        //    b[i]=function(){
        //        console.log(i);
        //    }
        //}
        //b[6]();
        //es6 语法
        //var a=[];
        //for (let i = 0; i < 10; i++) {
        //    a[i]=function(){
        //        console.log(i);
        //    }
        //}
        //a[6]();
        //ES5 
        //var  clickBox=document.querySelectorAll(".clickbox");
        //for (var i = 0; i < clickBox.length; i++) {
        //    clickBox[i].onclick=function(){
        //        console.log(i);
        //    }
        //}
        //ES6 
        //var  clickBox=document.querySelectorAll(".clickbox");
        //for (let i = 0; i < clickBox.length; i++) {
        //    clickBox[i].onclick=function(){
        //        console.log(i);
        //    }
        //}
        //-------------------------------const------------------------------
        //也用来声明变量,但是声明的是常量。一旦声明,常量的值就不能改变。
        //const PI =Math.PI;
        //PI=15
        //-------------------------------------class- extends -super()---------------------------------
        //class Person {
        //    constructor(){
        //        this.type='person'
        //    }
        //    says(say){
        //        console.log(this.type+"says"+say);
        //    }
        //}
        //let person =new Person();
        //person.says("hello");
        //Class之间可以通过extends关键字实现继承
        //super关键字,它指代父类的实例(即父类的this对象)。
        //子类必须在constructor方法中调用super方法,否则新建实例时会报错。
        //这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工。
        //如果不调用super方法,子类就得不到this对象。
        //class Student extends Person{
        //    constructor(){
        //       super();
        //        this.type = 'cat'
        //    }

        //}
        //let student=new Student();
        //student.says("hello");
      
        //语法糖 匿名函数的写法
        setTimeout(function (i){
            return i+1;
        },1000); 
        var i=1;
        //(i) => i + 1 注意这里不要加分号
        setTimeout ((i) => i + 1,1000);

        //setTimeout ((i) => console.log(i + 1),1000);
        //当我们使用箭头函数时,函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
        //class Person {
        //    constructor(){
        //    this.type='ren'
        //    }
        //    says(say){
        //        setTimeout(()=>{console.log(this.type+"says"+say)},1000)
        //    }
        //}
        //var person=new Person();
        //person.says('hi');
        //----------------------template string---占位string--------------------------
        //      var basket={};
        //      basket.count=1;
        //      basket.onSale='hello';
        //      //这里用的是反引号`  esc 下面那个键
        //      $("#result").append(`
        //There are <b>${basket.count}</b> items
        // in your basket, <em>${basket.onSale}</em>
        //      are on sale!`);
        //------------------------destructuring----------------------
        //let cat  ='ken';
        //let dog= 'lili';
        //let zoo={cat:cat,dog:dog};
        //console.log(zoo);
        //ES6
        //let cat ='ken';
        //let dog='lili';
        //let zoo={cat,dog};
        //console.log(zoo);

        //let dog ={type:'animal',many:2}
        //let {type,many}=dog
        //console.log(type,many)
        //---------------------------------default, rest-------------------
        //给函数赋值默认参数
        function animal(type = 'cat'){
            console.log(type)
        }
            animal();
        }
</script>

 

posted @ 2017-04-20 10:37  雨V幕  阅读(194)  评论(0)    收藏  举报