网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

guyoung:使用ES6新特性開發微信小程序(1)

發布時間:2018-04-08 11:56 所屬欄目:小程序開發教程
原文鏈接:http://mp.weixin.qq.com/s?__biz=MzI0ODU5Mzg0NA==&mid=2247483658&idx=1&sn=5461f829c6bca653d2c1aea04dbf924d&chksm=e99f2dd1dee8a4c7113906a7b9b345c96dfca401e40bbd44e04e0dc70913099cfa48a906a11c#rd

ECMAScript 6(簡稱ES6)是JavaScript語言的最新標準。因為當前版本的ES6是在2015年發布的,所以又稱ECMAScript 2015。
微信小程序支持絕大部分ES6的新增特性。

Constants(常量)

ES6新增了const關鍵字,用來聲明常量,一旦聲明,常量的值就不能改變了。
const PI = 3.141593;
console.log(PI);

PI = 3; // 報錯: Uncaught TypeError: Assignment to constant variable.

const PI = 3.1; // 報錯: Uncaught SyntaxError: Identifier 'PI' has already been declared


const只在聲明所在的塊級作用域內有效。

Scoping(作用域)

ES6新增了let關鍵字,用來聲明變量,但聲明的作用只在代碼塊內有效。

{
    let a = 10;

    var b = 1;

}

console.log(a); // 報錯: Uncaught ReferenceError: a is not defined

console.log(b); // 輸出: 1
上面代碼在代碼塊之中,分別用let和var聲明了兩個變量。然后在代碼塊之外調用這兩個變量,結果let聲明的變量報錯,var聲明的變量返回了正確的值。這表明,let聲明的變量只在它所在的代碼塊有效。
for (let i = 0; i < 5; i++) {
    console.log(i);

}

console.log(i) // 報錯: ReferenceError: i is not defined


上面代碼的計數器i,只在for循環體內有效。

let為JavaScript新增了塊級作用域。
function test() {
    let x = 1;

    let y = 2;

    {

        let x = 10;

        let y = 20;

    }

    console.log(x, y);

}

test(); // 輸出: 1 2
上面的函數有兩個代碼塊,都聲明了變量x, y,運行后輸出1 2。這表示外層代碼塊不受內層代碼塊的影響。如果使用var定義變量n,最后輸出的值就是10 20。

Arrow Functions(箭頭函數)

箭頭函數是ES6在語法上提供的一個很好的特性,其特點有:

* 語法更為簡潔了。
* 文法上的固定this對象。

一個參數
let square = (x) => x * x;
console.log('5 * 5 = ', square(5)); // 輸出: 5 * 5 =  25


多個參數
let add = (x, y) => x + y;    
console.log('2 + 3 = ', add(2, 3)); // 輸出: 2 + 3 =  5


 
let total = () => square(add(5, 3));

console.log(

    '(5 + 3)*(5 + 3) = ', total()); // 輸出: (5 + 3)*(5 + 3) =  64


數組遍歷
 
var array = [1, 2, 3];

array.forEach(v => console.log(v)); // 輸出: 1 2 3


var bob = {
    _name: "Bob",

    _friends: ['Tom', 'Jerry'],

    printFriends() {

        this._friends.forEach(f =>

            console.log(this._name + " knows " + f));

    }

}

bob.printFriends(); // 輸出: Bob knows Tom Bob knows Jerry



Extended Parameter Handling(參數的擴展)

允許為函數的參數設置默認值,即直接寫在參數定義的后面。

function logName(name = 'Unknown') {
    console.log('Name: ', name);

}

logName(); // 輸出:Unknown

logName('JavaScript'); // 輸出:JavaScript


Rest不定參數(用"...."表示)是在函數中使用命名參數同時接收不定數量的未命名參數。
 
function add(...numArray) {

    let sum = 0;

    for (let num of numArray) {

        sum += num;

    }

    return sum;

}

console.log(add(1, 2, 3)); // 輸出:6

console.log(add(1, 2, 3, 4, 5)); // 輸出:15


Spread操作符和Rest不定參數一樣,都使用 "..." 表示,Spread操作符允許我們將數組中的參數一個一個傳入函數中。
function add(x, y, z) {
    return x + y + z;

}

console.log(add(...[1, 2, 3])); // 輸出:6

console.log(add(...[3, 4, 5])); // 輸出:12


易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/23155.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×