美文网首页
ecma script6学习心得

ecma script6学习心得

作者: 想个名字真难ing | 来源:发表于2017-02-20 23:49 被阅读0次

    在js中熟悉了通过var一个变量来定义函数,是曾经ecma5时代的产物,语法
    的严谨性以及工程性,在一些学过c、java的同学看来也太随意了吧。所以咧做出了如下的几点的改进。(当然也全面不支持低版本浏览器~~~)

    1.变量
    例如定义一个变量,可以重复定义、没有块级作用域、没法限制修改,等为人所诟病。
    而现如今通过:
    let a='hello' 不能定义、有块级作用域、变量
    const b='world' 不能重复定义、有块级作用域、常量

    2.函数
    总感觉有点像php的语法有木有?

    a.箭头函数(简写)
    oBtn.onclick=()=>{
    alert(1);
    }

      #.如果只有一个参数(2个不行,没有也不行),()可以省略
            oBtn.onclick=a=>{
                  alert(a);
            }
    
       ##.如果只有一条语句并且是return,那么{}可以不写
                let arr=[2,31,52,1];
                arr.sort((n1,n2)=>n1-n2);
    

    b.Rest Parameter(参数扩展)
    传递参数大于接收参数,那么其余多出的参数会放到args数组中。
    function show(a,b,c,...args){
    alert(a+','+b+','+'c');
    alert(args[0]);
    }
    show(1,2,3,4,5,6,6,7);

    3.Array 数组

    map 映射:把一组元素的每一个都一一对应转换成另一个。返回一个数组,通过arr2来接收。

       let arr=[33,44,55,66,77,56];
       let arr2=arr.map(function(item){
              if(item<60){
                  return '不及格';
              }else{
                  return '及格';
              }
        })
    

    alert(arr2); //得到的结果是不及格、不及格、不及格、及格、及格、不及格、

    当然也可以使用符合ecma6的规范来写会更加装逼不信你看~
    let arr=[33,44,55,66,77,56];
    let arr2=arr.map(item=>item<60?'不及格':'及格');
    得到的结果是一样滴...不明觉厉吧,如果看不懂就去看上面的箭头函数。

    reduce 汇总:汇总成一个东西,传递三个参数,最后求出平均值有点难理解。

        第一个参数,是一个每次累加存值的池子,index是下表进行判断。
        var arr=[33,45,66,11];
        var result=arr.reduce((tmp_result,item,index)=>{
              if(index<arr.length-1){
                      return tmp_result+item;
              }else{
                      return (tmp_result+item)/arr.length;
               }
        });
        alert(result);
    
      ### filter 过滤,我觉得就是一个条件判断的小方法
              var arr=[33,44,55,66,77];
              let arr2=arr.filter(item=>item>55);   //返回item大于55的数组
    
      #### foreach 遍历、循环。
    

    4.String
    a.两个小方法
    startsWith,从前往后查找
    endWith,从后往前找
    var url='http://www.xxxdu.com';
    alert(url.startsWith('http')); //返回值是布尔值,找到了就是true

      b.拼接字符串,简直是手残党的福音,let me show!
         曾经呢我们是这样子来做的,’hello'+变量+‘wolrd',心好累
          现如今呢,我们只需要
          let a='abc';
          let b=`deg${a}hhd`;    //注意b所使用的反单引号使用的是esc下面的按键
    

    5.json

    如果json对象中的,名字和值对的名字都一样的话,就留一个就可以了

      let a=1;
      let b=2;
      let c=3;
      let json={a,b,c}    //相当于 let json={a:a,b:b,c:c};
    

    json中的函数不用加function

      let json={
          a:1,
          b:2,
          show(){
            alert(this.a+this.b)
          }
     };
      json.show();
    

    好了,今天的笔记就记到这里,酱紫,可以睡了,蟹蟹一下自己。

    相关文章

      网友评论

          本文标题:ecma script6学习心得

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