ecma script6学习心得

在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(indexitem>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学习心得)