微信小程序支持es6 默認啟用javasctipt嚴格模式
微信小程序支持es6已經(jīng)是當下微信小程序開發(fā)最熱門的話題,下面將從多方面來談談默認啟用javasctipt嚴格模式相關的內(nèi)容。
不需要申明嚴格模式
不需要將"use strict"放在腳本文件的第一行,微信小程序開發(fā)工具開啟ES6轉換功能的情況下,默認啟用javasctipt嚴格模式(Strict Mode)。
用塊級作用域代替IIFES
IIFE(立即執(zhí)行函數(shù)表達式)的通常用途是創(chuàng)造一個內(nèi)部的作用域,在ES6中,能夠創(chuàng)造一個塊級作用域而不僅限于函數(shù)作用域。塊級作用域的出現(xiàn)使得獲得廣泛應用的立即執(zhí)行匿名函數(shù)(IIFE)不再必要了。
IIFE:
ES6塊級作用域:
使用for...of循環(huán)
ES6 借鑒 C++、Java、C# 和 Python 語言,引入了for...of循環(huán),作為遍歷所有數(shù)據(jù)結構的統(tǒng)一的方法。
一個數(shù)據(jù)結構只要部署了Symbol.iterator屬性,就被視為具有iterator接口,就可以用for...of循環(huán)遍歷它的成員。也就是說,for...of循環(huán)內(nèi)部調(diào)用的是數(shù)據(jù)結構的Symbol.iterator方法。
for...of循環(huán)可以使用的范圍包括數(shù)組、Set 和 Map 結構、某些類似數(shù)組的對象、Generator 對象以及字符串。
遍歷數(shù)組:
遍歷Set:
for...of 用于遍歷一個迭代器:
for...in 用來遍歷對象中的屬性:
數(shù)組實例的forEach方法遍歷一個數(shù)組的元素和索引
for...of循環(huán)支持 ES6 迭代(通過 iterables 和 iterators)和解構。。通過數(shù)組的ES6新方法enteries()結合解構,可以代替數(shù)組實例的forEach方法。
通過變量解構交換兩個變量的值
如果將一對變量放入一個數(shù)組,然后將數(shù)組解構賦值相同的變量(順序不同),就可以不依賴中間變量交換兩個變量的值。
使用展開運算符和剩余操作符
展開運算符(the spread syntax )允許一個表達式在某處展開,在多個參數(shù)(用于函數(shù)調(diào)用)或者多個元素(用于數(shù)組字面量)或者多個變量(用于解構賦值)的地方就會這樣。
用于函數(shù)調(diào)用語法:
用于數(shù)組字面量語法:
剩余操作符(the rest operator),它的樣子看起來和展開操作符一樣,但是它是用于解構數(shù)組和對象。在某種程度上,剩余元素和展開元素相反,展開元素會“展開”數(shù)組變成多個元素,剩余元素會收集多個元素和“壓縮”成一個單一的元素。
剩余參數(shù)(rest parameter)允許長度不確定的實參表示為一個數(shù)組。
剩余參數(shù)語法:
使用示例:
比較兩個值是否嚴格相等
Object.is()用來比較兩個值是否嚴格相等。它與嚴格比較運算符(===)的行為基本一致,不同之處只有兩個:一是+0不等于-0,二是NaN等于自身。
為了滿足移動端的適配,可在程序中加入Polyfill
對象屬性復制
Object.assign方法用來將源對象(source)的所有可枚舉屬性,復制到目標對象(target)。它至少需要兩個對象作為參數(shù),第一個參數(shù)是目標對象,后面的參數(shù)都是源對象。只要有一個參數(shù)不是對象,就會拋出TypeError錯誤。
如果目標對象與源對象有同名屬性,或多個源對象有同名屬性,則后面的屬性會覆蓋前面的屬性。
為了滿足移動端的適配,可在程序中加入Polyfill
-
微信小程序商城系統(tǒng)開發(fā)其實很簡單
微信小程序商城系統(tǒng)開發(fā)其實很簡單,只需要五步就可以完成,整個過程包括開發(fā)、上線、發(fā)布都可以輕松搞定...詳情
第二部分:如何開通一個小商店