寫一個函數fnn(),使fnn(2,3)和fnn(2)(3)輸出的結果都為5 這道題目其實非常簡單,2和3只有在相加的情況下才等於5,所以,第一個fnn(2,3)要輸出5,最簡單的辦法就是直接把兩個參數在函數中相加即可 但是第二個,fnn(2)(3)其實這里用到了閉包 ...
在一個前端公眾號,看到這么一個號稱簡單的面試題: 以下程序輸出什么 若需要輸出 ,應該怎么修改 結果,輸出的為 若要輸出 ,則可以將代碼改成 解釋: for循環每次注冊一個延遲函數, setTimeout是異步的,傳入事件隊列中,在循環結束后進行處理,當循環結束時,i為 。 setTimeout中的匿名function沒有將 i 作為參數傳入來固定這個變量的值, 讓其保留下來, 而是直接引用了外部 ...
2017-03-03 20:32 0 1814 推薦指數:
寫一個函數fnn(),使fnn(2,3)和fnn(2)(3)輸出的結果都為5 這道題目其實非常簡單,2和3只有在相加的情況下才等於5,所以,第一個fnn(2,3)要輸出5,最簡單的辦法就是直接把兩個參數在函數中相加即可 但是第二個,fnn(2)(3)其實這里用到了閉包 ...
說明 最近看到這樣一段代碼 覺得有點意思,和大家一起來聊聊。 我相信如果你不是非常理解JavaScript中的閉包,一定是不想看這段代碼的。 解釋 好的,我們暫時先不去想這段代碼,先看點簡單的 這段代碼,我相信大家應該知道最后為什么結果會是 1 和 報錯 的,在函數內聲明的變量 ...
---------------------------------------------------------------------------------------------------------------------- 筆試題: 考察知識點: prototyp ...
關於閉包的用法,幾乎是所有前端面試中必點的菜之一,也是考察javascript掌握程度的重要知識之一,下面這題,是某知名IT企業出的題型,我稍加修改,分享如下: 請寫出執行結果? 關於這樣的題型,應當怎樣去分析呢? obj.dose().call(this) 這個表達式有點長 ...
1.首先下面代碼輸出什么? 輸出:0 1 2 3 4 2.上面只是普通的輸出,沒有陷阱再看下面這個題(套路開始了) 輸出:5 5 5 5 5 setTime ...
前幾天去面試,確切的說是復試。面試官給我出了一道題。是這樣的。 一個農夫有一條船,和三樣東西,狼、羊、和白菜,他要過河,這個船一次只能運一樣東西,要防止狼吃羊、羊吃白菜,該怎么過? 慚愧,我沒答出來。 然后面試官把答案告訴了我,問我怎么用計算機實現? 還是慚愧,我又沒答出來。 今天在 ...
壹 ❀ 引 最近在看前端進階的系列專欄,碰巧看到了幾篇關於JS事件執行機制的面試文章,因為我在之前一篇 JS執行機制詳解,定時器時間間隔的真正含義 博文中也有記錄JS執行機制,所以正好用於作為測試自己的理解情況,那么本文順着題目來重新理一理思路,說說我對於題目的理解,擴充知識點。 本文 ...
前言 看到一個JDK1.7和JDK1.8中關於HashMap的一個面試題: JDK1.7和1.8中HashMap中鏈表的插入的方式有什么不同? 原以為自己對HashMap的源碼理解的還算可以了,應該足夠應付面試了。但是看到這個問題自己確實也是懵逼了一下。 查了下資料,答案 ...