成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

ES6踩坑記錄

remcarpediem / 1003人閱讀

摘要:箭頭函數(shù)省略省略原來的變成和過程大概為檢測命名是否內存中存在報錯命名命名過程中,如果函數(shù)出錯,命名依舊占過去,不能再重新給函數(shù)定義這個命名。閉包參數(shù)有個特色,對外為變量,為內為常量。報錯,已經被聲明。我理解的繼承的意義就是提高代碼復用率。

這篇文章主要因為只是個人對ES6的不完整的理解,寫的不是很生動,如果有比較了解的歡迎糾錯。

1.箭頭函數(shù)
省略 function 省略return;
原來的

        function (){
            retrun...
        }
        變成
        () = >

2.const 和 let

const過程大概為檢測 命名是否內存中存在? 報錯 :命名 ;
命名過程中,如果函數(shù)出錯,命名依舊占過去,不能再重新給函數(shù)定義這個命名。

 var x;
 const x = () => {...}//報錯,命名已經存在
 const y = () => {console.log(1)//報錯,miss },定義函數(shù)失敗
 const y = () => {console.log(1)}//報錯,命名已存在

let作用于塊級作用域,從我膚淺的理解角度,就類似個閉包的參數(shù)。所以沒法再同一作用域用let定義同一個參數(shù)。閉包參數(shù)有個特色,對外為變量,為內為常量。

   
   let x = 1;
   let x = 2;//報錯,x已經被聲明。
   function test(){let x = 3};//不報錯
   
   for(var i = 0;i < 5;i++){ 
        setTimeout(() => {console.log(i)},1000)
   }// 5 5 5 5 5
   
   for(let i = 0;i < 5;i++){ 
        setTimeout(() => {console.log(i)},1000)
   }// 0 1 2 3 4 
   
   這實際等于
    var n = (t) =>{setTimeout(() => {console.log(t)},1000)}
    for(var i = 0;i < 5;i++){
    n(i);
    }

3.promises
異步處理功能
定義一個函數(shù)為new Promise(),Promises里面有倆個參數(shù)對象,resolve //成功,reject //失敗,這倆個參數(shù)寫在函數(shù)的最后面,表示這個函數(shù)是不是執(zhí)行成功了。
resolve和reject可以帶入自己的參數(shù)。
.then()可以無限鏈下去。我個人覺得這個可以封裝一個方法。

var con1 = new Promise(function(resolve,reject){
   setTimeout(() => {console.log(1);true?resolve("成功"):reject("失敗")},1000)
})

var con2 = (t) => {setTimeout(() => {console.log(t)},1000)};

con1.then((resolve的參數(shù)) => {con2(resolve的參數(shù))},(reject的參數(shù)) => {con2(reject的參數(shù))})

4.class
class應該是涉及到了原型鏈,原型鏈就是一個函數(shù)的原型函數(shù),區(qū)別于構造函數(shù)。主要用于繼承。
我理解的繼承的意義就是提高代碼復用率。

  class test1{
   testOne(){console.log("this is test1.testOne")}
   }
   
   class test2 extends test1{
   testTwo(){console.log("this is test2.testTwo")}
   }
   
   var test3 = new test2();
   test3.testOne();//this is test1.testOne
   test3.testTwo();//this is test1.testTwo
   

5.數(shù)組合并rest
rest的寫法就是...

     var testRest = (...x) => {console.log(x)};
     tesrRest(1,2,3)//[1,2,3]   
     const a = [1,2,3];
     const b = [4,5,6];
     const c = [...a,...b];//[1,2,3,4,5,6]

6.遍歷forEach

        c.forEach(function(data){
        console.log(data)
        })//1 2 3 4 5 6 

7.默認值

        var z = undefined;
        var x1 = z||"默認值z";//默認值z
        var y = "y";
        var x2 = y||"默認值y";//y
        var q = false;
        var x3 = q||"默認值q";//默認值q
        var w = null;
        var x4 = w||"默認值w";//默認值w
        var e = "";
        var x5 = e||"默認值e";//默認值e

我覺得這里面最沒怎么踩懂的就是class 因為原型鏈還是沒有能完全弄懂 踩得最忐忑的就是 promise 因為這里面的格式太局限了,而且網(wǎng)上找的解釋很多不解釋reslove和reject的判斷條件

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/85074.html

相關文章

  • 關于Node.js的__dirname,__filename,process.cwd(),./文件路

    摘要:先把當成文件,依次查找當前目錄下的,找到了,就返回該文件,不再繼續(xù)執(zhí)行。那么關于正確的結論是在中使用是跟的效果相同,不會因為啟動腳本的目錄不一樣而改變,在其他情況下跟效果相同,是相對于啟動腳本所在目錄的路徑。 起因 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關注最新動態(tài),大家一起多交流學習,共同進步,以學習者的身份寫博...

    harryhappy 評論0 收藏0
  • 關于Node.js的__dirname,__filename,process.cwd(),./文件路

    摘要:先把當成文件,依次查找當前目錄下的,找到了,就返回該文件,不再繼續(xù)執(zhí)行。那么關于正確的結論是在中使用是跟的效果相同,不會因為啟動腳本的目錄不一樣而改變,在其他情況下跟效果相同,是相對于啟動腳本所在目錄的路徑。 起因 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關注最新動態(tài),大家一起多交流學習,共同進步,以學習者的身份寫博...

    pumpkin9 評論0 收藏0
  • weex踩坑之旅第一彈 ~ 搭建具有入口文件的weex腳手架

    摘要:要想用好必須對基礎,體系,打包工具有較深的了解對,有了解。官方提供的腳手架不能指定入口文件,如果我們想要在項目中使用,沒有入口文件將會變得比較復雜。那么,我們應該如何使得當前項目具有入口文件呢答案是只能修改文件。 寫在前面的話: 注意!該文檔是2017年年底的文章,那個時候weex還有很多問題,現(xiàn)在weex已經全面更新,文檔也比較全。下面的講解可能不太適應新的weex框架,后面我會再立...

    jk_v1 評論0 收藏0
  • 5分鐘上手TypeScript踩坑

    摘要:前言最近在學習,發(fā)現(xiàn)的官方文檔中的分鐘上手輔導教程中會有許多新手可能很難理解的地方,所以記錄一下聲明一下我用的版本是以后版本可能有所不同什么是維基百科上說是一種由微軟開發(fā)的自由和開源的編程語言。 前言 最近在學習TypeScript,發(fā)現(xiàn)TypeScript的官方文檔中的5分鐘上手TypeScript輔導教程中會有許多新手可能很難理解的地方,所以記錄一下 聲明一下我用的版本是 npm ...

    array_huang 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<