JamesKool
JamesKool
  • 175
  • 2 747 012
作用域(scope)解說:let, const, var有什麼差?【JavaScript基礎】
0:00 開始
0:24 var
2:24 const與let
3:30 setTimeout範例
5:25 let, const, var的比較
5:50 什麼時候該用哪個?
影片中使用的Icons: www.flaticon.com
插圖來源:www.irasutoya.com/
B roll來源:envato elements
zhlédnutí: 1 667

Video

什麼是閉包(closure)?解說+範例【JavaScript基礎】
zhlédnutí 10KPřed 16 hodinami
0:00 開始 0:15 複習scope 0:56 什麼是closure? 3:08 跟class的不同 4:06 使用closure重構範例 8:43 總結 影片中範例:blog.jameskool.com/blog/closure 副頻道:www.youtube.com/@james-clips 程式語言課程:jameskool.com/p/javascript-course-v2 ig: jameskool.official Patreon會員專屬影片:www.patreon.com/user?u=99360097 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
15分鐘掌握Regular Expressions(基礎+應用題)
zhlédnutí 20KPřed 14 dny
影片中範例、教學文章:jameskool.notion.site/Regular-Expression-ad141fd2bbf547b8a5a52177a439d9e2 副頻道:www.youtube.com/@james-clips ig: jameskool.official Patreon會員專屬影片:www.patreon.com/user?u=99360097 程式語言課程:jameskool.com/p/javascript-course-v2 0:00 Intro 0:50 純文字:literal characters 1:14 意字符:. 1:45 重複組合: , *, ? 2:37 何數字、字母:\d, \w 3:17 重複指定次數:{} 4:02 或:| 4:41 多字符選一:[] 6:00 否定字符:[^] 6:43 esca...
新手工程師如何「高效」問問題?
zhlédnutí 11KPřed 21 dnem
0:00 Intro 0:42 問問題的5個步驟 2:11 精確描述問題 3:03 提供相關程式碼 3:52 提供錯誤訊息 5:13 描述嘗試過的方法 5:56 提供重現方法 6:28 改善後的問題 6:41 進階心法:省略不必要的資訊 副頻道:www.youtube.com/@james-clips ig: jameskool.official Patreon會員專屬影片:www.patreon.com/user?u=99360097 程式語言課程:jameskool.com/p/javascript-course-v2 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
2024如何取回專注
zhlédnutí 5KPřed měsícem
0:00 開始 0:59 ch1:找到你的動力 4:25 ch2:有意識地使用時間 7:47 ch3:引導自己的身體 副頻道:czcams.com/channels/5iQ33YoM9hiVtdxyu3tkuQ.html Patreon: www.patreon.com/user?u=99360097 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
失業10個月,我過得如何?
zhlédnutí 26KPřed 2 měsíci
0:00 Intro 0:14 CH1: 意外取得自由 1:10 CH2: 與現實的碰撞 5:00 CH3: 步入正軌 6:36 CH4: 重新出發 8:02 會員制度2.0 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
JavaScript Event Loop解說:單執行緒還能異步運算?
zhlédnutí 25KPřed 3 měsíci
0:00 Intro 1:16 範例1:stack運作 2:13 範例2:setTimeout 4:42 範例3:fetch 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
【vite介紹】前端必備的打包工具!為什麼要打包?
zhlédnutí 4,8KPřed 3 měsíci
完整課程(66折至3/21):jameskool.com/p/javascript-course 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
你知道package-lock.json的功能嗎?跟package.json有什麼差?【npm教學】
zhlédnutí 8KPřed 3 měsíci
完整課程:jameskool.com/p/javascript-course 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
什麼是unit testing?如何使用jest進行單元測試|JavaScript單元測試
zhlédnutí 3,4KPřed 4 měsíci
課程後半全力製作中,預購價58折至2/26:jameskool.com/p/javascript-course 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
【JavaScript基礎必學】Value與Reference的差異解說,看完拯救你的面試
zhlédnutí 4,4KPřed 4 měsíci
課程後半全力製作中,預購價58折至2/26:jameskool.com/p/javascript-course 課程中程式碼也可以在上方連結免費領取 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
【費波那契數列】一個範例搞懂JavaScript遞迴
zhlédnutí 3,7KPřed 4 měsíci
課程後半全力製作中,預購價58折至2/26:jameskool.com/p/javascript-course 課程中程式碼也可以在上方連結免費領取 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
【3小時JavaScript課程】從零基礎到開發第一個應用
zhlédnutí 43KPřed 4 měsíci
課程後半全力製作中,預購價5折至2/19:jameskool.com/p/javascript-course 課程中程式碼也可以在上方連結免費領取 0:00 Intro 0:48 0.0_JS可以幹嘛 2:04 1.0_安裝開發工具 7:53 1.1_如何執行JavaScript程式碼 13:01 2.0_console.log 14:07 3.0_變數與運算子 18:14 3.1_懶人運算子 21:07 3.3_const 24:37 3.5_可讀性 26:13 3.7_變數的型別:數字與字串 33:44 3.8_字串vs.變數 34:40 4.0_運算子的優先序與相依性 44:16 4.1_template string 46:23 4.2_表達式 vs. 陳述式 53:05 4.3_i vs. i 54:31 5.0_布林值boolean 1:04:26 5.1_if else...
我被裁員了(軟體工程師)
zhlédnutí 91KPřed 5 měsíci
0:00 開始 0:07 被裁員的過程 2:49 公司裁員的原因 3:32 之後的規劃 影片中使用的Icons: www.flaticon.com 插圖來源:www.irasutoya.com/ B roll來源:envato elements
【職業傷害】工程師如何避免駝背、腰傷?花了數萬元的心得|Steelcase Leap
zhlédnutí 6KPřed 6 měsíci
【職業傷害】工程師如何避免駝背、腰傷?花了數萬元的心得|Steelcase Leap
【學習思維】零基礎如何開始學習一門領域?前端工程師技能選擇
zhlédnutí 18KPřed 6 měsíci
【學習思維】零基礎如何開始學習一門領域?前端工程師技能選擇
時隔2年從Mac回到Windows!ASUS ExpertBook B7 Flip開箱、使用心得
zhlédnutí 24KPřed 6 měsíci
時隔2年從Mac回到Windows!ASUS ExpertBook B7 Flip開箱、使用心得
專業獵頭訪談:工程師100萬、200萬年薪的條件?遠端工作適合語言?【人生旅客 #4】
zhlédnutí 74KPřed 7 měsíci
專業獵頭訪談:工程師100萬、200萬年薪的條件?遠端工作適合語言?【人生旅客 #4】
數學不好,還能學寫程式嗎?
zhlédnutí 24KPřed 7 měsíci
數學不好,還能學寫程式嗎?
What is a Monad? - The Last Monad Intro You'll Ever Need
zhlédnutí 17KPřed 8 měsíci
What is a Monad? - The Last Monad Intro You'll Ever Need
為何看了很多程式教學,卻還是感覺不會?【新手常見誤區】
zhlédnutí 34KPřed 9 měsíci
為何看了很多程式教學,卻還是感覺不會?【新手常見誤區】
家裡可以免費住,為何我要租房?
zhlédnutí 13KPřed 10 měsíci
家裡可以免費住,為何我要租房?
【FP Basics#1】Functor:Understand Functors by Example
zhlédnutí 4,9KPřed 11 měsíci
【FP Basics#1】Functor:Understand Functors by Example
【FP basics】Currying: calling functions in ways you'd never imagine
zhlédnutí 28KPřed rokem
【FP basics】Currying: calling functions in ways you'd never imagine
Functional Programming Basics - Pascal's triangle
zhlédnutí 72KPřed rokem
Functional Programming Basics - Pascal's triangle
不用再找了!BenQ GW2790QT滿足你所有辦公需求 - 螢幕開箱、使用心得
zhlédnutí 59KPřed rokem
不用再找了!BenQ GW2790QT滿足你所有辦公需求 - 螢幕開箱、使用心得
2 months into Functional Programming: my Story & Thoughts
zhlédnutí 25KPřed rokem
2 months into Functional Programming: my Story & Thoughts
需要大家的幫忙...
zhlédnutí 7KPřed rokem
需要大家的幫忙...
Functional Programming: a New Way of Programming - the Basics
zhlédnutí 113KPřed rokem
Functional Programming: a New Way of Programming - the Basics
2022回顧、2023規劃|#年度回顧 #軟體工程師 #科技業 #contentcreator
zhlédnutí 6KPřed rokem
2022回顧、2023規劃|#年度回顧 #軟體工程師 #科技業 #contentcreator

Komentáře

  • @linyan2654
    @linyan2654 Před 8 hodinami

    所以使用let i = 0 在跑迴圈時,每次迭代的i 都是指向不同記憶體位址嗎

  • @chu-kuanchang693
    @chu-kuanchang693 Před 9 hodinami

    推薦可以去看OpenBSD的re_format(7) 很簡短清楚的文檔

  • @user-sz5fq6ef6d
    @user-sz5fq6ef6d Před 11 hodinami

    想針對「const 修改」額外補充幾個極端作法 1. Object const engineer = { name: "James", age: 30 }; engineer.age = 18; console.log(engineer); // { name: "James", age: 18 } 2. Array const numbers = [1, 2, 3]; numbers.push(4); console.log(numbers); // [1, 2, 3, 4] 但我自己是不建議這樣寫,只是面試有考過就記起來😗 面試的朋朋加油,也感謝 James 用心講解 🙏🙏

    • @reahtuoo
      @reahtuoo Před 8 hodinami

      幫補充,在js裡面,Array就是Object哦~

  • @b_2u
    @b_2u Před 11 hodinami

    這影片由淺入深 寫的好棒!

  • @have-bear
    @have-bear Před 12 hodinami

    4:40 對於 golang 並不是這麼回事 儘管外側存取不到 for 後面的變數 他的結果仍像 for (var i = ...) 不過這在 1.22 時修掉了 (see: go loopvar-preview)

  • @Jimmy-jv7gf
    @Jimmy-jv7gf Před 13 hodinami

    恩預設選擇的意識是?

    • @user-dj3dt6rp2k
      @user-dj3dt6rp2k Před 13 hodinami

      就是只是代表第一優先思考 使用而已. 習慣宣告const 再說 . Let 要修改才用.

  • @asteroid-owo
    @asteroid-owo Před 13 hodinami

    看完之後都懂了 很棒的影片

  • @hedula
    @hedula Před 14 hodinami

    感謝分享與教學 👍👍

  • @jerryliu862
    @jerryliu862 Před 14 hodinami

    我雖然知道原理,但你是我聽過最精準的講解

  • @kunming4118
    @kunming4118 Před 20 hodinami

    看下來 現在學程式找工作真的難 尤其不是本科系的 找網頁工作更難 30以上轉職就真的沒什麼公司要了 幸好我前幾個月看開了 果斷把去年買的網頁相關書籍收在箱子裡封印了

  • @simonkwok736
    @simonkwok736 Před dnem

    之前有同事說regex很慢,不建議用。是真的嗎?

  • @kalasend
    @kalasend Před dnem

    對Regex的認識, 可以用來分辨對方是否「科班出身」 因為一般來說, 計算機科學的正規課程都會要求學生唸編譯器(compiler)以理解編程語言的結構, regex在這個領域就是基礎知識 所以, 若遇上軟件開發人不懂regex, 那他8成是唸其他專科的

  • @samuelpedrochao7423

    我覺得一開始看不懂包其實不是不知道語法或代碼邏輯 而是不知道為什麼要用包 包要怎麼用 寫包的時候其實要想的是要包哪些東西進去 留哪些開口放東西 拿東西 包哪些 放哪些 拿哪些 其實都跟維護性跟重用性有關 如果這個包的API會有3+以上的組合 然後這些組合又有3+以上 那可以考慮寫一個底層包 然後再把各個組合的API包一層上去 然後再各自使用的位置call這些包來用 如果底層結構改變 可以直接改底層結構 如果API資料改變 可以改資料那層的包 如果是相同邏輯跟結構的東西 API通常也會長差不多 概念上就跟OOP的interface或abstract class一樣

  • @james-kool
    @james-kool Před dnem

    副頻道:www.youtube.com/@james-clips ig:instagram.com/jameskool.official/ Patreon會員專屬影片:www.patreon.com/user?u=99360097 程式語言課程:jameskool.com/p/javascript-course-v2

  • @user-jc9xr4eu8o
    @user-jc9xr4eu8o Před dnem

    超讚,可惜像我比較缺乏html css知識的,後面實作比較難理解一點😂不過用css把html雕好看過程很有意思

  • @rivailleackerman4986

    突然喜欢上看你视频

  • @ec8483
    @ec8483 Před 2 dny

    感覺FP只是原生語法把for while包起來而已

  • @garyallison9257
    @garyallison9257 Před 3 dny

    感觉就像一个callback, 将calculation 抽象出来到一方法中

  • @jhui316
    @jhui316 Před 3 dny

    good!

  • @DyteGdsf
    @DyteGdsf Před 3 dny

    我想问问,我初中学历今年35岁了,现在想学这些还能不能学会,晚不晚

  • @fentengshi9543
    @fentengshi9543 Před 3 dny

    帅哥博主,你来中国开IT培训机构吧 你真的讲的太优秀了

  • @clouddash-qp9tq
    @clouddash-qp9tq Před 4 dny

    Closure 就是在上層函數的變數

  • @chu-kuanchang693
    @chu-kuanchang693 Před 4 dny

    Closure is poor man's OOP

  • @CreativeEnglishTeaching

    \d这里面的d是英文单词digital,\w这个w是英文单词word,\s的s是指英文单词space还有正则表达式里采用的那些[a-zA-Z0-9]这是采用了高中数学区间的,{1, 9}这也是采用数学里的内容,正则表达式里的那些斜线后的字母基本都是代表相应的英文单词,这东西不能死记硬背,知道具体来历之后记忆就非常容易了

  • @user-qd2tw4kd9g
    @user-qd2tw4kd9g Před 4 dny

    非常感谢!但是3:09 有口误,\w+应该是有6个配对而不是5个

  • @fentengshi9543
    @fentengshi9543 Před 4 dny

    把编程讲得如此的帅

  • @allenytw
    @allenytw Před 4 dny

    超級不直觀的用法, arg drill 是怕你傳的東西太大, 同一個var裡不需要的資料太多, 那你可以直接傳每個product要用的資料更好吧, unit test裡也不用去判斷找出來, 更加純粹的去計算 price after discount

  • @user-sg7ek1qt1s
    @user-sg7ek1qt1s Před 5 dny

    你看起來真的蠻怪的

  • @borislai9970
    @borislai9970 Před 5 dny

    好像有點像 React 中的 useState()

  • @user-fs7kh7tk1m
    @user-fs7kh7tk1m Před 5 dny

    好實用的教學 用15分鐘解釋這一個主題 非常感謝

  • @AC-el2wt
    @AC-el2wt Před 6 dny

    謝謝James🙏🙏收穫很多

  • @AL-ei2gc
    @AL-ei2gc Před 6 dny

    應該不是87 %確定會議的內容, 應該是很78 %

  • @594wei
    @594wei Před 6 dny

    好清楚呀!! 超容易懂的!!

  • @cici4148
    @cici4148 Před 6 dny

    不想工作 但是不工作没钱

  • @coldheart9014
    @coldheart9014 Před 6 dny

    有像封裝和依賴注入耶

  • @Rose2642
    @Rose2642 Před 6 dny

    太優秀了 感覺可以成為台灣少數前端教學頻道中的翹楚! 簡潔明瞭!

  • @Rose2642
    @Rose2642 Před 6 dny

    這系列很讚! 希望多多出!

  • @gjuoun
    @gjuoun Před 6 dny

    并不是很赞同这种写法, 用得不好就等于 callback hell. 在没有类型的JS 不仅写起来会非常累,也不利于阅读

  • @jeffabc1997
    @jeffabc1997 Před 6 dny

    非常實用!

  • @SeanLinTw
    @SeanLinTw Před 7 dny

    雖然 jQuery 沒有特別強,原生瀏覽器也都提供相同的功能,但我還是用它是因為程式碼可以少打很多字。原生的API要打很長的英文字、或多幾層步驟,很煩。雖然編輯器都有 auto complete, 但用 jquery 再加上 minify,壓出來的 js 檔小很多

  • @SeanLinTw
    @SeanLinTw Před 7 dny

    希望有機會可以講解 (?= )、(?! )、 (?<= ) 這些,至今我還是沒有很懂

  • @SeanLinTw
    @SeanLinTw Před 7 dny

    補充 1:18 點「.」在 flags 為 s 修飾下可以匹配換行的。例如 /^\d.+\d$/s.test("1 2") 為 true

  • @lzh97
    @lzh97 Před 7 dny

    當我們要在函數式風格裡實現工廠模式跟控制反轉的時候,Closure 也能派上用場喔

  • @jingsuantan2304
    @jingsuantan2304 Před 7 dny

    获益良多

  • @MADorMad
    @MADorMad Před 7 dny

    上面已經被建構過該函式,所以只要使用就代表引用的是該函式的內容 又因為該函式回應的是子函式,所以你要使用被建構好的函式只能用呼叫的方法 像是如果採取counter1而不是counter1() 那麼程式回應的不是指標就是出錯

  • @ziv4380
    @ziv4380 Před 7 dny

    我會覺得跟.net的委派有點類似 每次看到這種寫法腦筋都會轉不過來 orz

  • @vvh04rn12
    @vvh04rn12 Před 7 dny

    請問一下閉包跟封裝差別在哪? 我在此之前一直以為兩者是相同意思😮, 看你前面的例子都跟封裝一樣, 在外面只能通過一個特別留下的方法去改變內部狀態, 但最後的例子的finalPrice的計算資料包括取得discountCalculator的方法全都在外面也就說不是封裝了, 但我看只是processProducts方法裏沒有直接存取userDiscount 和 categoryDiscounts 只是委託discountCalculator 方法去計數每一個product的最終價錢。如果createDiscountCalaculater在processProducts裏被call是不是就等於是跟一般做法另外起一個新的方法把原有的code拆分開一樣?那這樣就不算閉包了嗎?是不是要processProducts的方法裏不要直接存取到那個await回來的資料才算是閉包? 請大家指點迷津!

    • @reahtuoo
      @reahtuoo Před 5 dny

      閉包跟封裝很相似,我覺得最好判斷的依據是:有一個東西從生成開始,他內部就不會被外部修改。 例如他舉的折扣那個例子,他return的折扣規則function,在生成開始就不會被更改了~ 所以就算我後面改變了折扣數字,已經生成的規則仍然不會改變,這就是避免污染的一種

  • @bardeebooboo
    @bardeebooboo Před 7 dny

    closure的實現一定是一個object嗎? 還是不同語言可能不同?

  • @TomycatOWO
    @TomycatOWO Před 7 dny

    感謝老師的乾貨

  • @wwe951110101
    @wwe951110101 Před 7 dny

    讚讚!