前端溜圈羣技術小題覆盤-第一週
每週工做日會出一道小題,一週五題,週六分享會覆盤結束後本人會將問題與答案整理出來~方便羣內小夥伴複習。css
這裏只整理簡短的解析與答案(可是我會在每週覆盤中詳細講解以及擴展),具體內容不懂的話能夠谷歌或者私我,固然仍是建議你們多多思考多多討論。前端
天天第一名正確回答並解釋完整的同窗能夠得到羣主的獎勵紅包數組
第一天
- setTimeout 中調用的代碼的 this 在非嚴格模式下會指向 window
- 全局 let 聲明的變量不在 window 上,而是在叫作 script 的全局域上
答案:undefined函數
次日
- 直接訪問 Foo 上的 log 方法,打印 2
- 雖然有函數和變量提高,可是最後被賦值語句覆蓋,打印 4
- Foo() 執行,內部聲明瞭 全局的 foo,覆蓋;返回 this (即window),調用 window 上的 log,打印 1
- 調用 window 上的 log,打印 1
- new 優先級較高,返回一個 空對象,上面綁定了 Foo 的原型鏈,在對象上沒有找到 log 屬性,去原型鏈上找,打印 3
答案:2 4 1 1 3ui
第三天
- If 中的求值使用的是 eval,傳入非字符串時不會對其進行執行而是直接返回,因此兩個 If 都返回了這個函數且未聲明,爲 true
- 由於函數未被執行,因此一個爲 number,另外一個爲 undefined,而後拼成字符串
- typeof 未聲明變量 爲 undefined
答案:1number,1undefinedthis
ECMA標準:If statement,typeoflua
第四天
CSS
很明顯使用計數器較好spa
ul {
counter-reset: counter;
}
li::before {
counter-increment: counter;
content: counters(counter, '.') ' ';
}
複製代碼
- counter-reset:初始化計數器,默認從 0 開始
- counter-increment:用於可計數的元素中並指明計數器,默認變化值爲 1
- counters(counter, string):第一個參數爲計數器名稱,第二個參數爲計數器後字符串(子序號的連接字符串)
詳細使用建議自行搜索。code
JS
- process.nextTick 屬於 idle 觀察者,setImmediate 屬於 check 觀察者,每次循環中,idle > check
- process.nextTick 回調函數保存在數組中,setImmediate 保存在鏈表中
- process.next 每次循環執行所有的回調函數,setImmediate 只執行一個回調函數
答案:cdn
pass nextTick1 nextTick2 setImmediate1 nextTick3 setImmediate2
可是好像改了,setImmediate如今所有取出了
第五天
- 若對象上存在屬性,則直接使用
- 若對象上不存在屬性,則查找原型鏈上的原型
- 原型複用
答案:
1, [1,2,1], 8 11, [1, 2, 1], 8 12, [1,2,1], 8
1, [1,2,1],8 4, [1,2,1,11,12],5 5, [1,2,1,11,12], 5
廣告
天天羣內會發一道技術小題,每週末會有視頻技術分享和前端題覆盤。
只面向前端大學生,但願積極活躍的你進羣聊生活聊技術聊Idea。
歡迎大學生前端進羣交流呀 ~ 小羣人數很少,進羣就是朋友,之後規模也會限制在50人左右~