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的規(guī)范來寫會更加裝逼不信你看~
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 遍歷、循環(huán)。

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();

好了,今天的筆記就記到這里,醬紫,可以睡了,蟹蟹一下自己。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,109評論 25 709
  • Swift 介紹 簡介 Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應用程序 ...
    大L君閱讀 3,434評論 3 25
  • 要點: 函數式編程:注意不是“函數編程”,多了一個“式” 模塊:如何使用模塊 面向對象編程:面向對象的概念、屬性、...
    victorsungo閱讀 1,697評論 0 6
  • 親愛的燕燕: 見字如晤。 昨晚我做了好多的夢,夢到的人全是你。 只是夢境有點混亂,場景不停在切換:一會兒是你家的大...
    淡淡翠閱讀 828評論 2 2

友情鏈接更多精彩內容