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