2018-04-26 總結(jié)

1.考察對(duì)內(nèi)存空間理解

let a = {v:'temp'};
let b =a;
a=a.x={v:'temp'};
console.log(a);
//a: {v:'temp'}
console.log(b);
//b:{v:'temp',x:{v:'temp'}}

2.考察對(duì)函數(shù)傳參的理解

let a =1;
let b ={a:1};
function sum(m,n){
   m=2;
   n.a=2;
}
sum(a,b);
console.log(a,b);
//1,{a:2}

3.考察js事件循環(huán)機(jī)制

setTimeout(function(){console.log(0)},0);
Promise.resolve().then(function(){console.log(5)});
console.log(3);
for(var i=1-;i<15;i++){
  setTimeout(function(){console.log(i)},i);
}
//3,5,0,15,15,15,15,15

4.

(function(num){
  console.log(num);
  var num =10;
}(100));
//100

5.

(function(num){
  console.log(num);
  var num=10;
 function num(){};
}(100));
//function num(){};

6.

var num=100;
var obj={
  num:200,
  inner:{
    num:300,
    print:function(){
      console.log(this.num);
    }
  }
};
obj.inner.print();//300
var func = obj.inner.print;
func();//100
(obj.inner.print)();//300
(obj.inner.print=obj.inner.print)();//100

7.實(shí)現(xiàn)add(1)(2)輸出3宇挫,考察閉包的實(shí)現(xiàn)

function add(x){
  var sum =x;
  return function(y){
    return sum +=y;
  }
}

8.拓展第7題这吻,實(shí)現(xiàn)add(1)=>1,add(1)(2)=>3,add(1)(2)(3)=>6等

function add(x) {
    var sum = x;
    var tmp = function (y) {
        sum = sum + y;
        return tmp;
    };
    tmp.toString = function () {
        return sum;
    };
    return tmp;
}
console.log(add(1)(2)(3));  //6
console.log(add(1)(2)(3)(4));   //10
//并沒(méi)有看懂等著hexuebin給我講呢

9.數(shù)組排序

var a =[1,10,4,6,11,33,55];
a.sort(function(a,b){
  return a-b;
})

10.數(shù)組亂序

var a= [1,2,3,4,5,6,7,8];
a.sort(function(a,b){
  var sign = 1;
  sign = (Math.random()>0.5)?1:-1;
  return(a-b)*sign;
})

11.箭頭函數(shù)的注意點(diǎn)

(1)函數(shù)體內(nèi)的this對(duì)象,就是定義時(shí)所在的對(duì)象摇邦,而不是使用時(shí)所在的對(duì)象巩检。

(2)不可以當(dāng)作構(gòu)造函數(shù)术幔,也就是說(shuō)元咙,不可以使用new命令梯影,否則會(huì)拋出一個(gè)錯(cuò)誤。

(3)不可以使用arguments對(duì)象庶香,該對(duì)象在函數(shù)體內(nèi)不存在甲棍。如果要用,可以用 rest 參數(shù)代替赶掖。

(4)不可以使用yield命令救军,因此箭頭函數(shù)不能用作 Generator 函數(shù)。
下面對(duì)(1)做出解釋?zhuān)?/p>

function foo() {
  setTimeout(() => {
    console.log('id:', this.id);
  }, 100);
}
var id = 21;
foo.call({ id: 42 });

如果是普通函數(shù)倘零,執(zhí)行時(shí)this應(yīng)該指向全局對(duì)象window,這時(shí)應(yīng)該輸出21戳寸。但是呈驶,箭頭函數(shù)導(dǎo)致this總是指向函數(shù)定義生效時(shí)所在的對(duì)象(本例是{id: 42}),所以輸出的是42疫鹊。

12.有1到n連續(xù)的n個(gè)數(shù)袖瞻,打亂其順序司致,隨意拿走一個(gè)數(shù),判斷出拿走的是哪個(gè)數(shù)

利用數(shù)組的find方法
先把1到n個(gè)數(shù)轉(zhuǎn)為數(shù)組a
a.find(function(value,key){
  if(value - a[key+1] ==-2){
    return true;
  }
});
此時(shí)返回的值+1就是拿走的那個(gè)值

13.怎么判斷塊級(jí)作用域

任何一對(duì)花括號(hào)中的語(yǔ)句集都屬于一個(gè)塊聋迎,在這之中定義的所有變量在代碼塊外都是不可見(jiàn)的脂矫,我們稱(chēng)之為塊級(jí)作用域

14.塊級(jí)作用域和函數(shù)聲明提升的問(wèn)題

function functions(flag) {
    if (flag) {
      function getValue() { return 'a'; }
    } else {
      function getValue() { return 'b'; }
    }
 
    return getValue();
}
console.log(function functions(true));
//答案是b

分析如下:因?yàn)樵趈s是沒(méi)有塊級(jí)作用域的,又因?yàn)楹瘮?shù)聲明提升的原因霉晕,上面的這段代碼變相當(dāng)于:

function functions(flag) {
    function getValue() { return 'a'; };
    function getValue() { return 'b'; }
    if (flag) {
    } else {
    }
    return getValue();
}
console.log(function functions(true));
//因此無(wú)論flag為何值庭再,返回的方法始終為重寫(xiě)后的方法。

那么怎么才能解決這個(gè)問(wèn)題呢...

function functions(flag) {
    if (flag) {
      var getValue = function () { return 'a'; }
    } else {
      var getValue = function () { return 'b'; }
    }
    return getValue();
}

不再用函數(shù)聲明牺堰,而是用函數(shù)表達(dá)式的方法拄轻,因?yàn)楹瘮?shù)表達(dá)式不會(huì)提升,因此只有當(dāng)邏輯只想到這兒的時(shí)候才會(huì)執(zhí)行伟葫。所以就解決問(wèn)題啦恨搓。

15.Promise有自身有哪幾種方法

Promise.all(),Promise.race(),Promise.resolve(),Promise.reject(),
詳情見(jiàn):http://es6.ruanyifeng.com/#docs/promise

凡普金科和閃銀奇異

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市筏养,隨后出現(xiàn)的幾起案子斧抱,更是在濱河造成了極大的恐慌,老刑警劉巖渐溶,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辉浦,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡掌猛,警方通過(guò)查閱死者的電腦和手機(jī)盏浙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)荔茬,“玉大人废膘,你說(shuō)我怎么就攤上這事∧轿担” “怎么了丐黄?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)孔飒。 經(jīng)常有香客問(wèn)我灌闺,道長(zhǎng),這世上最難降的妖魔是什么坏瞄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任桂对,我火速辦了婚禮,結(jié)果婚禮上鸠匀,老公的妹妹穿的比我還像新娘蕉斜。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布宅此。 她就那樣靜靜地躺著机错,像睡著了一般。 火紅的嫁衣襯著肌膚如雪父腕。 梳的紋絲不亂的頭發(fā)上弱匪,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音璧亮,去河邊找鬼萧诫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛杜顺,可吹牛的內(nèi)容都是我干的财搁。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼躬络,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼尖奔!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起穷当,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤提茁,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后馁菜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體茴扁,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年汪疮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了峭火。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡智嚷,死狀恐怖卖丸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盏道,我是刑警寧澤稍浆,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站猜嘱,受9級(jí)特大地震影響衅枫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜朗伶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一弦撩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧论皆,春花似錦益楼、人聲如沸歧斟。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至觉鼻,卻和暖如春俊扭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背坠陈。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工萨惑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仇矾。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓庸蔼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親贮匕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子姐仅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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