亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

ES6

snifes / 3264人閱讀

摘要:對(duì)象可被不定參數(shù)和默認(rèn)參數(shù)完美代替。將對(duì)象納入規(guī)范,提供了原生的對(duì)象。規(guī)定,命令和命令聲明的全局變量,屬于全局對(duì)象的屬性命令命令命令聲明的全局變量,不屬于全局對(duì)象的屬性。。這些函數(shù)表達(dá)式最適合用于非方法函數(shù),并且它們不能用作構(gòu)造函數(shù)。

ES6的了解
新增模板字符串(為JavaScript提供了簡(jiǎn)單的字符串插值功能)、箭頭函數(shù)(操作符左邊為輸入的參數(shù),而右邊則是進(jìn)行的操作以及返回的值Inputs=>outputs。)、for-of(用來(lái)遍歷數(shù)據(jù)—例如數(shù)組中的值。)arguments對(duì)象可被不定參數(shù)和默認(rèn)參數(shù)完美代替。ES6將promise對(duì)象納入規(guī)范,提供了原生的Promise對(duì)象。增加了let和const命令,用來(lái)聲明變量。增加了塊級(jí)作用域。let命令實(shí)際上就增加了塊級(jí)作用域。ES6規(guī)定,var命令和function命令聲明的全局變量,屬于全局對(duì)象的屬性;let命令、const命令、class命令聲明的全局變量,不屬于全局對(duì)象的屬性。。還有就是引入module模塊的概念

let var const

let 允許你聲明一個(gè)作用域被限制在塊級(jí)中的變量、語(yǔ)句或者表達(dá)式
let綁定不受變量提升的約束,這意味著let聲明不會(huì)被提升到當(dāng)前
該變量處于從塊開始到初始化處理的“暫存死區(qū)”。

var 聲明變量的作用域限制在其聲明位置的上下文中,而非聲明變量總是全局的
由于變量聲明(以及其他聲明)總是在任意代碼執(zhí)行之前處理的,所以在代碼中的任意位置聲明變量總是等效于在代碼開頭聲明

const 聲明創(chuàng)建一個(gè)值的只讀引用 (即指針)
這里就要介紹下 JS 常用類型
String、Number、Boolean、Array、Object、Null、Undefined
其中基本類型 有 Undefined、Null、Boolean、Number、String,保存在棧中;
復(fù)合類型 有 Array、Object ,保存在堆中;

基本數(shù)據(jù)當(dāng)值發(fā)生改變時(shí),那么其對(duì)應(yīng)的指針也將發(fā)生改變,故造成 const申明基本數(shù)據(jù)類型時(shí),
再將其值改變時(shí),將會(huì)造成報(bào)錯(cuò), 例如 const a = 3 ; a = 5 時(shí) 將會(huì)報(bào)錯(cuò);
但是如果是復(fù)合類型時(shí),如果只改變復(fù)合類型的其中某個(gè)Value項(xiàng)時(shí), 將還是正常使用;

箭頭函數(shù)

語(yǔ)法比函數(shù)表達(dá)式更短,并且不綁定自己的this,arguments,super或 new.target。這些函數(shù)表達(dá)式最適合用于非方法函數(shù),并且它們不能用作構(gòu)造函數(shù)。

快速的讓一個(gè)數(shù)組亂序

var arr = [1,2,3,4,5,6,7,8,9,10];
arr.sort(function(){
    return Math.random() - 0.5;
})
console.log(arr);

首先: 當(dāng)return 的值

小于 0 ,那么 a 會(huì)被排列到 b 之前;

等于 0 , a 和 b 的相對(duì)位置不變;

大于 0 , b 會(huì)被排列到 a 之前;

這里你會(huì) 發(fā)現(xiàn)起始 的時(shí)候數(shù)組是正序排列,每當(dāng)進(jìn)行一次排列的時(shí)候, 都會(huì)先隨機(jī)一個(gè)隨機(jī)數(shù) (注意這里的每一次排列 指 每一個(gè)紅框指一次排列, 共9次排列 , 一次排列中可能存在多次比較);

當(dāng)一次排列的 隨機(jī)數(shù)大于0.5 時(shí) 將會(huì)進(jìn)行第二次比較, 當(dāng)?shù)诙坞S機(jī)數(shù) 仍然大于0.5 時(shí) ,將會(huì)再 進(jìn)行一次比較, 直到 隨機(jī)數(shù)大于0.5 或者排列到第一位;

當(dāng)一次排列的 隨機(jī)數(shù) 小于0.5時(shí) 當(dāng)前比較的兩項(xiàng) 索引將不會(huì)改變 ,繼續(xù)下一次 的排列;

最快捷的數(shù)組求最大值

var arr = [ 1,5,1,7,5,9];
   Math.max(...arr)  // 9

更短的數(shù)組去重寫法

[...newSet([2,"12",2,12,1,2,1,6,12,13,6])]

說(shuō)說(shuō)你對(duì)Promise的理解

依照 Promise/A+ 的定義,Promise 有四種狀態(tài):

pending: 初始狀態(tài), 非 fulfilled 或 rejected.

fulfilled: 成功的操作.

rejected: 失敗的操作.

settled: Promise已被fulfilled或rejected,且不是pending

另外, fulfilled 與 rejected 一起合稱 settled

Promise 對(duì)象用來(lái)進(jìn)行延遲(deferred) 和異步(asynchronous ) 計(jì)算

Promise 的構(gòu)造函數(shù)

構(gòu)造一個(gè) Promise,最基本的用法如下:

var promise = new Promise(function(resolve, reject) {

        if (...) {  // succeed

            resolve(result);

        } else {   // fails

            reject(Error(errMessage));

        }
    });

Promise 實(shí)例擁有 then 方法(具有 then 方法的對(duì)象,通常被稱為thenable)。它的使用方法如下:

promise.then(onFulfilled, onRejected)

接收兩個(gè)函數(shù)作為參數(shù),一個(gè)在 fulfilled 的時(shí)候被調(diào)用,一個(gè)在rejected的時(shí)候被調(diào)用,接收參數(shù)就是 future,onFulfilled 對(duì)應(yīng) resolve, onRejected 對(duì)應(yīng) reject

什么是 Promise ?

Promise 就是一個(gè)對(duì)象,用來(lái)表示并傳遞異步操作的最終結(jié)果

Promise 最主要的交互方式:將回調(diào)函數(shù)傳入 then 方法來(lái)獲得最終結(jié)果或出錯(cuò)原因

Promise 代碼書寫上的表現(xiàn):以“鏈?zhǔn)秸{(diào)用”代替回調(diào)函數(shù)層層嵌套(回調(diào)地獄)

談一談你了解ECMAScript6的新特性?

塊級(jí)作用區(qū)域 let a = 1;

可定義常量 const PI = 3.141592654;

變量解構(gòu)賦值 var [a, b, c] = [1, 2, 3];

字符串的擴(kuò)展(模板字符串) var sum = ${a + b};

數(shù)組的擴(kuò)展(轉(zhuǎn)換數(shù)組類型) Array.from($("li"));

函數(shù)的擴(kuò)展(擴(kuò)展運(yùn)算符) [1, 2].push(...[3, 4, 5]);

對(duì)象的擴(kuò)展(同值相等算法) Object.is(NaN, NaN);

新增數(shù)據(jù)類型(Symbol) let uid = Symbol("uid");

新增數(shù)據(jù)結(jié)構(gòu)(Map) let set = new Set([1, 2, 2, 3]);

for...of循環(huán) for(let val of arr){};

Promise對(duì)象 var promise = new Promise(func);

Generator函數(shù) function* foo(x){yield x; return x*x;}

引入Class(類) class Foo {}

引入模塊體系 export default func;

引入async函數(shù)[ES7]

async function asyncPrint(value, ms) {
      await timeout(ms);
      console.log(value)
     }

Object.is() 與原來(lái)的比較操作符 ===、== 的區(qū)別?

== 相等運(yùn)算符,比較時(shí)會(huì)自動(dòng)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換

=== 嚴(yán)格相等運(yùn)算符,比較時(shí)不進(jìn)行隱式類型轉(zhuǎn)換

Object.is 同值相等算法,在 === 基礎(chǔ)上對(duì) 0 和 NaN 特別處理

+0 === -0 //true
NaN === NaN // false

Object.is(+0, -0) // false
Object.is(NaN, NaN) // true

什么是 Babel ?

Babel 是一個(gè) JS 編譯器,自帶一組 ES6 語(yǔ)法轉(zhuǎn)化器,用于轉(zhuǎn)化 JS 代碼。

這些轉(zhuǎn)化器讓開發(fā)者提前使用最新的 JS語(yǔ)法(ES6/ES7),而不用等瀏覽器全部兼容。

Babel 默認(rèn)只轉(zhuǎn)換新的 JS 句法(syntax),而不轉(zhuǎn)換新的API。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/93894.html

相關(guān)文章

  • 使用ES6新特性開發(fā)微信小程序

    摘要:使用新特性開發(fā)微信小程序國(guó)際化與本地化新特性國(guó)際化與本地化新增了很多對(duì)于國(guó)際化的支持,比如時(shí)間格式,貨幣格式,數(shù)字格式等。 ECMAScript 6(簡(jiǎn)稱ES6)是JavaScript語(yǔ)言的最新標(biāo)準(zhǔn)。因?yàn)楫?dāng)前版本的ES6是在2015年發(fā)布的,所以又稱ECMAScript 2015。 微信小程序支持絕大部分ES6的新增特性。 使用ES6新特性開發(fā)微信小程序(1) ES6新特性:Cons...

    Backache 評(píng)論0 收藏0
  • ES6-前世今生(0)

    摘要:更新了個(gè)版本,最新正式版是語(yǔ)言的下一代標(biāo)準(zhǔn),早已在年月正式發(fā)布。基本不支持移動(dòng)端瀏覽器對(duì)的支持情況版起便可以支持的新特性。比較通用的工具方案有,,,等。 1、ECMAScript是什么? 和 JavaScript 有著怎樣的關(guān)系? 1996 年 11 月,Netscape 創(chuàng)造了javascript并將其提交給了標(biāo)準(zhǔn)化組織 ECMA,次年,ECMA 發(fā)布 262 號(hào)標(biāo)準(zhǔn)文件(ECMA-...

    LeviDing 評(píng)論0 收藏0
  • 給React初學(xué)者的10分鐘ES6教程

    摘要:但是在中,可以通過(guò)關(guān)鍵字來(lái)實(shí)現(xiàn)類的繼承的使用可以使得繼承意義更加明確并且值得一提的是,如果你使用來(lái)定義的組件,那么可以在類的構(gòu)造器里面,用簡(jiǎn)單的的聲明方式來(lái)替代方法。 原文:The 10 min ES6 course for the beginner React Developer譯者:Jim Xiao 著名的80/20定律可以用來(lái)解釋React和ES6的關(guān)系。因?yàn)镋S6增加了超過(guò)75...

    Awbeci 評(píng)論0 收藏0
  • 10個(gè)最佳ES6特性

    摘要:,正式名稱是,但是這個(gè)名稱更加簡(jiǎn)潔。已經(jīng)不再是最新的標(biāo)準(zhǔn),但是它已經(jīng)廣泛用于編程實(shí)踐中。而制定了模塊功能。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,得到了金山軟件等眾多知名用戶的認(rèn)可。 譯者按: 人生苦短,我用ES6。 原文: Top 10 ES6 Features Every Busy JavaScript Developer Must Know 譯者: Fundebug 為了保...

    codeKK 評(píng)論0 收藏0
  • 為什么都說(shuō)js 里面任何對(duì)象最終都繼承了Object對(duì)象

    摘要:今天閑來(lái)無(wú)事,看見幾行小字。又說(shuō)所有對(duì)象,繼承終是。強(qiáng)行押韻一波這首詩(shī)的意思就是說(shuō)的我今天沒有什么事情,然后無(wú)意中又在網(wǎng)上看到了任何對(duì)象都是從對(duì)象繼承而來(lái)的這句話。一時(shí)興起,便去驗(yàn)證這句話。 今天閑來(lái)無(wú)事,看見幾行小字。又說(shuō)所有對(duì)象,繼承終是Obj?!?強(qiáng)行押韻一波 這首詩(shī)的意思就是說(shuō)的我今天沒有什么事情,然后無(wú)意中又在網(wǎng)上看到了任何對(duì)象都是從Object對(duì)象繼承而來(lái)的這句話。一時(shí)興...

    Gemini 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<