91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ES6學習筆記之字符串、數組、對象、函數新增知識點實例分析

發布時間:2020-08-23 22:29:13 來源:腳本之家 閱讀:148 作者:theVicTory 欄目:web開發

本文實例講述了ES6學習筆記之字符串、數組、對象、函數新增知識點。分享給大家供大家參考,具體如下:

1、模板字符串

反引號`` 內用于輸入格式化的字符串文本,在``內可以將表達式用${}包含起來

  let str=`
    <!DOCTYPE html>
      <html lang="en">
        <body>
          <div>
            <p class="pClass">格式化字符串</p>
          </div>
        </body>
      </html>
  `;
  console.log(str);

2、轉化為數組

Array.form將偽數組、集合轉化為數組

let allLi=document.querySelectorAll('li');
console.log(Array.isArray(allLi));//輸出false,allLi不是個數組
let arr=Array.from(allLi);
console.log(Array.isArray(arr));//輸出true,arr被轉化為數組

Array.of將元素構建為數組

let arrayOf=Array.of('str',2,{});  //創建由字符串、數字、對象構成的數組
let arr=Array.of(7);         //數組包含一個元素7
let arr=Array(7);          //數組包含7個空元素

3、類的封裝

通過class來包裝類

  class Person{    
    constructor(name,age){  //Person類的構造函數
      this.name=name;
      this.age=age;
    }
    
     print(){        //類函數輸出
      console.log("My name is "+this.name+",I'm "+this.age+" years.");
    }
  }
  let p=new Person('tony',15);
  p.print();

4、對象的使用

在用變量作為對象的元素時,會將變量名作為鍵值,將變量值作為值

let name='tony';
let age=15;
let person={
  name,
  age
}  
console.log(person);

輸出結果為:

Object { name: "tony", age: 15 }

Object.assign()方法實現對象合并,參數為:合并目標,合并源1,合并源2...

let obj1={'name':'tony'};
let obj2={'age':15};
let obj3={'sex':'男'};
let obj={};
Object.assign(obj,obj1,obj2,obj3);  //將后面的對象并到第一個對象
console.log(obj);

輸出為:

Object { name: "tony", age: 15, sex: "男" }

5、延展操作符...

將整體字符串、對象等拆成單個元素  

let str="這是一個字符串";
let arr=[...str];
console.log(arr);

輸出為:

ES6學習筆記之字符串、數組、對象、函數新增知識點實例分析

6、函數Rest參數

當不確定傳入的參數個數時,可以采用"...參數"的方式,然后遍歷操作每個參數

  function sum(name,...num) {
    console.log(name);
    let res=0;
    for (let value of num){  //將后面未知個數的參數當作數組num遍歷
      res+=value;      
    }
    return res;
  }
  console.log(sum('tony',10,2,3));

7、箭頭函數

箭頭函數可以將函數function (參數) {表達式}簡化為:(參數...)=>{表達式...},無需輸入function,甚至省略(),{},return。

1、當只有一個參數時,可以寫為參數 => 表達式,例如使用map函數遍歷一個數組,使每個元素乘2:

var arr = [1, 4, 9, 16];
const map1 = arr.map(x => x * 2);  //利用map()遍歷數組,傳入一個參數當作x,并返回x*2

map中的函數以x為參數遍歷每個arr中的元素,*2之后自動返回,形成map1數組

2、當有多個參數時,需要給參數加括號:() =>表達式,例如遍歷數組輸出索引與值:

let arr=['data0','data1','data2'];
arr.forEach((value,index)=>   //通過forEach遍歷數組,傳入兩個參數value與index
  console.log(index+':'+value)
);

輸出如下:

ES6學習筆記之字符串、數組、對象、函數新增知識點實例分析

3、當有多行表達式時,要用{}將函數包含成一塊:() =>{},并且使用塊語句時,函數不會自動返回值,需要使用return將值返回。

4、JavaScript的{}也可以表示一個對象,當使用箭頭函數返回對象時,為了與函數體區別需要將對象用()包含起來:() =>({}),否則會報錯,例如在react中使用setState方法,需要返回一個對象:

this.setState((prevState) =>({
  flag: !prevState.flag
}))

8、Promise函數

在使用接口調用時,有時需要根據調用返回是否成功分別去調用不同的函數,ES6提供了Promise函數來解決這個問題。在調用成功時,執行.then方法,失敗時執行.catch方法來分別處理不同情況,返回不同的數據。

例如定義一個檢查登陸的Promise方法,當傳入參數為true時登陸成功,回調函數為then,false失敗,調用catch:

    //定義promise函數
    let checkLog=function (flag) {    
     return new Promise(function(resolve,reject){
      if(flag){        //如果判定條件為真,執行resolve函數
       resolve({       //其括號內的參數作為結果返回
        status:1,
        info:"登陸成功"
       })
      }else{          //判定為假執行reject函數
       reject({
        status:0,
        info:"登陸失敗"
        }
       )
      }
     })
    };
    //使用promise函數
    checkLog(false).then(res=>{  //根據promise返回的不同值分別執行then或catch
     console.log(`成功信息:${res.info}`);
    }).catch(err=>{
     console.log(`錯誤信息:${err.info}`);
    })

當傳入true:ES6學習筆記之字符串、數組、對象、函數新增知識點實例分析當傳入false:ES6學習筆記之字符串、數組、對象、函數新增知識點實例分析

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达拉特旗| 长宁县| 神木县| 长海县| 临夏县| 南澳县| 壶关县| 普格县| 伊宁县| 托克托县| 遂宁市| 周至县| 吴川市| 乌恰县| 洪洞县| 尖扎县| 麟游县| 永嘉县| 贡山| 邵阳县| 东宁县| 台江县| 定远县| 中卫市| 天台县| 崇信县| 娄烦县| 沙坪坝区| 清苑县| 信阳市| 西充县| 安多县| 渭南市| 天津市| 洪洞县| 沽源县| 崇明县| 木兰县| 宣武区| 高台县| 当阳市|