推 king22649: let? 07/17 15:26
推 sullivan1982: 樓上答對了 07/17 15:32
推 cokellen: IIFE 07/17 15:39
推 wilson6405: 輸出4 4 4 4,var改成let 07/17 16:38
推 stupid0319: [0,1,2,3,4].forEach(n => console.log(n)) 07/17 16:47
→ nekosgr93: ES6以前用IIFE 07/17 18:20
→ nekosgr93: ES6以後用let 07/17 18:20
→ cloudskyblue: DOM基本操作呢?CSS呢?資料庫基本觀念呢? 07/17 18:27
→ cloudskyblue: 全端最囧的地方就是面試方可以拿任何一方面的”基 07/17 18:28
→ cloudskyblue: 本觀念”來考被面試者 因為那是基本觀念呀 07/17 18:28
→ cloudskyblue: 你拿資料庫優化的基本觀念來考後段強前端弱的求職 07/17 18:30
→ cloudskyblue: 者當然可以電他 07/17 18:30
→ cloudskyblue: *前端強後端弱 07/17 18:30
→ cloudskyblue: 你拿javascript closures跟event loop來考CSS強者也 07/17 18:31
→ cloudskyblue: 可以電他 07/17 18:31
→ cloudskyblue: 你拿leetcode medium/hard搞不好也可以電Tyler mcgi 07/17 18:33
→ cloudskyblue: nnis之類的JS大法師 (我是不知道他演算法多強啦) 07/17 18:33
→ cloudskyblue: 考來考去不如大家回歸前端vs後端 至少範圍清楚一點 07/17 18:37
推 godbye45: 請問為啥是4444呢 07/17 18:59
推 sullivan1982: google js closure就知道為什麼 07/17 19:08
→ cloudskyblue: Godbye45你已經死了 XD 07/17 19:12
推 jixian: 不是55555嗎 07/17 19:31
推 neo5277: 我是覺得養成好習慣先寫個變數不好嗎? 07/17 19:38
推 UnReal5566: 這是 function scope 跟 EC 的問題吧 07/17 20:26
推 Trinomial: 不是5566嗎 07/17 20:31
→ UnReal5566: i 宣告在global 時間到之後 event loop 執行 callbac 07/17 20:31
→ UnReal5566: k 印出 i 。中間有用到包閉嗎 07/17 20:32
→ UnReal5566: 要包閉才能拿到 i sor 07/17 20:49
→ Hsins: 也有些人認為前端的重點在 CSS 切版啊,這個要寫的優雅也不 07/17 20:55
→ Hsins: 是件容易事,我覺得就像 cloud 說的那樣,因為東西太多了, 07/17 20:56
→ godddddd: 放棄js 改用 c# 同事表示兩個蠻像的 07/17 20:56
→ Hsins: 很容易被電。 07/17 20:56
→ Hsins: 這題也很多可以深入的啊,比如 callback 時間不要設 0 改成 07/17 20:58
→ Hsins: i,問你為什麼輸出不是 0 5 5 5 5 而是 5 5 5 5 5? 07/17 20:58
→ Hsins: 這樣就是一個小陷阱了。 07/17 20:59
→ Hsins: 五樓說的解答也滿足題意,可是大概不是面試官想要的答案 07/17 20:59
推 maxqq: 面試最重要的不是考倒對方,基礎的確是重點就是 07/17 21:06
→ maxqq: 個性比一切都重要,一個會背答案,實戰力+態度超弱也遇過 07/17 21:07
→ maxqq: 一個太強融不進團隊的也不適合 07/17 21:08
→ vi000246: 這種考題雖然考到爛了 但平常沒在用還是答不出來XD 07/17 22:45
→ b195f1a: (function(i){console.info(i);})(i) 07/17 23:34
推 neo5277: 只能推max 07/17 23:35
→ gocreating: 寫了n年js還沒踩過closure的坑,這種觀念題已經過時了 07/18 00:56
→ gocreating: 吧? 07/18 00:56
→ gocreating: 最近看到一題有趣的題目 07/18 01:00
→ gocreating: [1, 7, 11].map(parseInt) 07/18 01:00
推 CloudyWing: 3樓害我思考了一下為什麼是4,這題我不會踩到closure 07/18 01:26
→ CloudyWing: 不過會在12345和55555猶豫,原因是我會忘記javascript 07/18 01:30
→ CloudyWing: 是單線程加上setTimeout(0)我會誤以為是立即執行 07/18 01:31
→ CloudyWing: 但看題型我又會懷疑故意考closure,剛去查才發現 07/18 01:32
→ CloudyWing: setTimeout(0)是立即排進序列,而非立即執行... 07/18 01:33
→ CloudyWing: 所以因為單線程,所以不會是隨機由小到大的1~5 07/18 01:36
→ CloudyWing: setTimeout(0)非立即執行,所以會等for結束才執行 07/18 01:36
→ CloudyWing: 再加上var i被hosting,所以全部都是5,1題3個細節... 07/18 01:39
推 lturtsamuel: don't use var 07/18 06:54
推 vencil: .map(parseInt) -> .map(Number) 這是考平常沒在用的細節 07/18 08:37
推 lightyen: 這是在考平常不會去踩的坑 跟台灣馬路一樣 07/18 08:58
→ cloudskyblue: 樓上 是的 完全是平常根本避免踩的坑 07/18 09:30
推 NCKUFatPork: 坑就在var 不過現在平常都用let或const了 07/18 10:00
→ nekosgr93: 2019年了還在用var的是山頂洞人了吧 07/18 10:10
→ cloudskyblue: 問題是大家都得為這種坑做準備 因為面試官就喜歡這 07/18 12:53
→ cloudskyblue: 個 不然我團隊上有人寫這種鬼東西一定被我罵 07/18 12:53
→ charlie0275: 還是不懂為何不同經驗出身的工程師為什麼必須要符合 07/18 14:20
→ charlie0275: 全端工程師的標準 還有當他已經是專業前端或後端那 07/18 14:21
→ charlie0275: 還會來應徵全端工程師嗎? 07/18 14:21
→ y3k: parseInt那個類型的坑踩過一次就不會那樣寫了QQ 07/18 16:09
→ Hsins: 不是啊,瀏覽器端的支援度差,開發時你照樣可以寫 let,再 07/18 16:22
→ Hsins: 透過 webpack 配合 babel 去打包... 07/18 16:23
→ Hsins: 不然 TypeScript 怎麼辦?這篇給問題其實也是 TS 寫在文件 07/18 16:24
→ Hsins: 裡說為什麼會有 TP 出現,因為 JS ES2015 之前的 xxx 會有 07/18 16:24
→ Hsins: 那些問題,那個問題就是其中一個例子… 07/18 16:25
→ nekosgr93: 2019年了朋友 講支援度的是活在沒有babel的時代嗎 而 07/18 17:23
→ nekosgr93: 且我看那個支援度也有94%欸 除非是銀行或公家機關還在 07/18 17:23
→ nekosgr93: IE史前時代不然現在很少會碰到舊版瀏覽器了吧 07/18 17:23
推 shter: 我都不習慣用編譯的,Javascript 就是要寫了直接在瀏覽器跑 07/18 23:34
→ shter: 所以還是用 var,這些問題寫久了知道就會避開了 07/18 23:34
→ shter: 它也不是沒有邏輯或規則可言,也有很多解決這問題的寫法 07/18 23:35
→ Hsins: 如果說 TS, CoffeeScript 這種方言就算了,ES 算是 JS 最常 07/18 23:43
→ Hsins: 見也通行的規範了,我覺得 let, var 的爭議只是要不要學新 07/18 23:44
→ Hsins: 東西而已,瀏覽器為了市場也會漸漸支援,不然很容易被淘汰 07/18 23:45
→ Hsins: 像是 class 的語法糖出來了,還要繼續用舊的方式寫類別嗎? 07/18 23:47
→ Hsins: 還是用推出的 class 語法糖,然後也知道 JS 的繼承實作和其 07/18 23:47
→ Hsins: 他語言不同就足夠了? 07/18 23:48
→ y3k: 不 babel還是有團隊或公司是不接受的 理由就是不能保穩 07/19 00:50
→ y3k: 我自己也認為他們莫名其妙... 07/19 00:50
→ y3k: 另一個babel會被打槍的狀況是包出來很大一包XD 07/19 00:51
推 EPGo: 很大包可以試試polyfill.io之類動態引入的解決方案 07/19 13:34
→ bndan: 這種題目 基本前端沒稍微摸的(就不是UI套套的等級)應該會答 07/20 03:02
→ bndan: 的很亂...另外let var 和 array function 等 這種常用的ES6 07/20 03:02
→ bndan: 應該跟前端有關的工程師都該習慣.(打太快是arrow function) 07/20 03:04