ES6面試題基礎(chǔ)版

1偎漫、變量

在ES6之前,變量聲明關(guān)鍵字:var
var的缺點:
(1)var可以多次聲明同一個變量--在其他編程語言是沒辦法想象的

var a =0;
var a = 99;

(2)var會造成變量提升

(function rr() {
  if(true) {
    var a = 666;
  }
  console.log(a); //輸出666
})()

ES6變量聲明關(guān)鍵字:let 變量聲明方篮;const 常量聲明名秀。解決了var前面提到的兩個缺點。
let以及const都是塊級作用域藕溅。
如何理解塊級作用域

在一個函數(shù)內(nèi)部 function (){}
在一個代碼塊內(nèi)部
常見面試題:

for(var a = 0; a < 3; a++) {
  setTimeout(function() {
    console.log(a);
  }, 1000)
}
//輸出結(jié)果都為3

如何將結(jié)果輸出為0, 1, 2
es5處理方法 -- 用函數(shù)制造塊級作用域

for(var a = 0; a < 3; a++) {
  (function (a) {
    setTimeout(function() {
      console.log(a);
    }, 1000)
  })(a)
}
//輸出結(jié)果0,1,2

es6處理方法 -- 更加簡單明了

for(let a = 0; a < 3; a++) {
  setTimeout(function() {
    console.log(a);
  }, 1000)
}
//輸出結(jié)果為:0,1,2

2匕得、函數(shù) (箭頭函數(shù))

(1)不需要function關(guān)鍵字來創(chuàng)建函數(shù)
es5創(chuàng)建函數(shù)

var aa = function() {}

es6創(chuàng)建函數(shù)

var aa = () => {}

(2)可以極大的簡寫函數(shù)
es5函數(shù)

var fn = function(a) {  
      return a + 5
}  

可以利用箭頭函數(shù)簡寫為:

var fn = a => a + 5;    

簡寫規(guī)則:
當函數(shù)所傳參數(shù)只有一個時,可以去掉(); eg: (a) => {} 簡寫為:a => {}

當函數(shù)體中只返回值蜈垮,而沒有其他操作時耗跛,可以去掉{}裕照;eg: (a, b) => {return a+b} 簡寫為:(a, b) => a+b(3)繼承上下文的關(guān)鍵字this
es5繼承上下文的關(guān)鍵字

var fn = function() {
}
fn.bind(this)

es6繼承上下文的關(guān)鍵字

var fn = () => {}

3攒发、數(shù)組
新增常用的4個方法
(1)map --映射

let arr=[66,59,80];
let result=arr.map(item => {
  if(item >= 60){
    return "及格"
  }else{
    return "不及格"
  }
});
//result:["及格", "不及格", "及格"]

(2)reduce --匯總

let arr = [12,69,180,8763]; 
let result = arr.reduce((tmp, item, index) => {
            console.log(tmp, item, index);   
            return tmp + item;
});
console.log(result);//求和

(3)filter --過濾

let arr=[
    {title: '電源線', price: 50},
    {title: '電腦', price: 13000},
    {title: '鍵盤', price: 120},
    {title: '手機', price: 9000}
];
let result=arr.filter(json=>json.price>=5000);
console.log(result);//[{title: '電腦', price: 13000},{title: '手機', price: 9000}]

(4)forEach --迭代

let arr=[12,5,8,9];
arr.forEach((item,index)=>{
   console.log(index+': '+item); //0: 12  1: 5  2: 8  3: 9
});

4、函數(shù)的參數(shù)
(1)收集參數(shù)

function show(a, b, ...args){
  console.log(args)
}
show(1,2,3,4,5,6) //輸出[3,4,5,6]

(2)展開數(shù)組

const arr1 = [1,2,3];
const arr2 = [4,5,6];
console.log([...arr1, ...arr2]); //輸出[1,2,3,4,5,6]
console.log(...arr1); //輸出1晋南,2惠猿,3

(3)默認值

const show = (a=666, b=999) => {
  console.log(a); //輸出666
  console.log(b); //輸出999
}
show();

5、解構(gòu)賦值
(1)左右兩邊結(jié)構(gòu)必須一樣负间;
(2)右邊必須是個合法的值偶妖;
(3)聲明和賦值不能分開(必須在一句話里完成);

let [a,b,c]=[1,2,3,999];
let {e,d,g}={e: 4, d: 5, f: 6, g: 7};
console.log(a,b,c,e,d,g);
//輸出1 2 3 4 5 7

6政溃、字符串
(1)多了兩個新方法: startsWith endsWith

//startsWith
let str='https//http://mp.blog.csdn.net/postedit/79478118';
if(str.startsWith('http://')){
  alert('普通網(wǎng)址');
}else if(str.startsWith('https://')){
  alert('加密網(wǎng)址');
}else if(str.startsWith('git://')){
  alert('git地址');
}else if(str.startsWith('svn://')){
  alert('svn地址');
}else{
  alert('其他');
}

//endsWith
let str='12121.png';
if(str.endsWith('.txt')){
  alert('文本文件');
}else if(str.endsWith('.jpg')){
  alert('JPG圖片');
}else{
  alert('其他');
}

(2)字符串模板
優(yōu)點:方便字符串拼接趾访;可以折行

let title='標題';
let content='內(nèi)容';
let str='<div>\
  <h1>'+title+'</h1>\
  <p>'+content+'</p>\
</div>';
let str2=`<div>
  <h1>${title}</h1>
  <p>${content}</p>
</div>`;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市董虱,隨后出現(xiàn)的幾起案子扼鞋,更是在濱河造成了極大的恐慌,老刑警劉巖愤诱,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件云头,死亡現(xiàn)場離奇詭異,居然都是意外死亡淫半,警方通過查閱死者的電腦和手機溃槐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來科吭,“玉大人昏滴,你說我怎么就攤上這事《匀耍” “怎么了谣殊?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長规伐。 經(jīng)常有香客問我蟹倾,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任鲜棠,我火速辦了婚禮肌厨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘豁陆。我一直安慰自己柑爸,他們只是感情好,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布盒音。 她就那樣靜靜地躺著表鳍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祥诽。 梳的紋絲不亂的頭發(fā)上譬圣,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音雄坪,去河邊找鬼厘熟。 笑死,一個胖子當著我的面吹牛维哈,可吹牛的內(nèi)容都是我干的绳姨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼阔挠,長吁一口氣:“原來是場噩夢啊……” “哼飘庄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起购撼,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤跪削,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后份招,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體切揭,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年锁摔,在試婚紗的時候發(fā)現(xiàn)自己被綠了廓旬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡谐腰,死狀恐怖孕豹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情十气,我是刑警寧澤励背,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站砸西,受9級特大地震影響叶眉,放射性物質(zhì)發(fā)生泄漏址儒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一衅疙、第九天 我趴在偏房一處隱蔽的房頂上張望莲趣。 院中可真熱鬧,春花似錦饱溢、人聲如沸喧伞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽潘鲫。三九已至,卻和暖如春肋杖,著一層夾襖步出監(jiān)牢的瞬間溉仑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工兽愤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留彼念,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓浅萧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親哲思。 傳聞我的和親對象是個殘疾皇子洼畅,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準棚赔。 注意:講述HT...
    kismetajun閱讀 27,512評論 1 45
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)帝簇,也就是一...
    悟名先生閱讀 4,151評論 0 13
  • 小外甥女出生了. 看著這小家伙.我也當舅舅了.看著自己的父母也開始當姥姥姥爺了.天天哄著她.也溫馨的很.一直不怎么...
    2036b21f4766閱讀 608評論 0 0
  • 雨是旅人的伴侶 絲絲縷縷的綿延 如前方的路 疏疏密密的旋律 如潮水起伏 顛簸是旅人的奴仆
    非矣閱讀 170評論 0 0
  • 周末的清晨總是這樣胧后,可以不緊不慢的起床梳洗芋浮,可以到花園里隨意逛逛。陽光正好壳快,風(fēng)輕輕的打在臉上纸巷,溫柔極了,許...
    淺光陰閱讀 866評論 0 3