JavaScript全攻略:克服JS的奇怪部分

一個給所有人的JavaScript進階課程! 深入瞭解各種觀念,以及打造自己的框架
4.7 (51 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
666 students enrolled
$19
$200
90% off
Take This Course
  • Lectures 85
  • Length 11.5 hours
  • Skill Level All Levels
  • Languages Traditional Chinese, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 7/2016 Traditional Chinese Closed captions available

Course Description

JavaScript 是現今開發者都必須熟悉的程式語言,這可以讓你得到工作、建立好的網站及應用。

注意:這們課包含了ECMAScript 6 (ES6),也就是下一版本的JavaScript之資訊!

在這門課中你能深入瞭解JavaScript,知道它的運作模式,來幫助你避免一些可能會犯的錯誤,大幅提升你除錯的能力。你可以懂得一些其他人(甚至是有經驗的開發者)都很困惑的東西,你將見識到這個程式語言的美麗與強大。

這門課將提到進階概念,包含了物件與物件實體、函數表示式、原型繼承、函數程式設計、範圍鏈、函數建構子(還有新的ES6功能)、立即呼叫的函數表示式(IIFEs)、call、apply、bind等等

我們會深入討論知名框架的的原始碼,像是jQuery和Underscore,從中學習JavaScript的知識。

最後,你將學到如何建立自己的JavaScript框架或資源庫之基礎。

在這門課中所到的東西會讓你成為更好的JavaScript開發者,並增進你在AngularJS、NodeJS、jQuery、React、Ember、MongoDB及其他以JavaScript為基礎的技術!

學習愛上JavaScript,並寫好它。

注意:在這門課中,你還會得到一些可下載的程式碼。我會提供每節課開始時的'starter'程式碼給你練習,以及該節課練習完成後的'finished'程式碼給你對照。

What are the requirements?

  • 基本的 JavaScript 知識(變數、迴圈與基本函數,這樣就夠了!)
  • 一個瀏覽器與文字編輯器

What am I going to get from this course?

  • 理解 JavaScript 的運作機制與基本概念
  • 寫出優良穩定的 JavaScript 程式碼
  • 瞭解進階觀念,像是閉包、原型繼承、IIFEs
  • 徹底地增進 JavaScript 的除錯能力
  • 避免一般開發者會犯的 JavaScript 陷阱和錯誤
  • 瞭解 JavaScript 受歡迎框架的原始碼
  • 建立自己的 JavaScript 框架或資源庫

What is the target audience?

  • 瞭解基本的 JavaScript 技巧並想要增進的人
  • 有程式語言經驗的開發者
  • 想要深入瞭解這個語言的 JavaScript 新手或老手
  • 認為物件原型、閉包與其他進階觀念很難懂的人
  • 在 JavaScript 遇到許多莫名其妙的錯誤,而想要瞭解如何避免錯誤的人
  • 想要建立自己的框架,或想從知名框架及資源庫的原始碼學習的人

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: 準備開始
課程簡介及課程目標
Preview
04:56
設定
03:27
重點字和 JavaScript
01:25
用高畫質觀看課程
Article
瞭解框架與奇怪的部分
Preview
04:17
Section 2: 執行環境與詞彙環境
觀念小叮嚀:語法解析器、執行環境與詞彙環境
Preview
07:35
觀念小叮嚀:名稱/值配對與物件
Preview
04:08
下載課程的原始碼
Preview
Article
全域環境與全域物件
Preview
10:58
執行環境:創造與提升
Preview
09:43
觀念小叮嚀:JavaScript 與 undefined
Preview
08:04
執行環境:程式執行
Preview
02:54
觀念小叮嚀:單執行緒、同步執行
Preview
02:16
函數呼叫與執行堆
Preview
08:06
函數、環境與變數環境
Preview
07:56
範圍鏈
Preview
17:25
範圍、ES6 與 let
Preview
04:18
關於非同步回呼
Preview
10:26
Section 3: 型別與運算子
觀念小叮嚀:型別與 JavaScript
Preview
02:50
純值
Preview
05:17
觀念小叮嚀:運算子
Preview
06:32
運算子的優先性與相依性
Preview
14:14
運算子的優先性與相依性表格
Preview
Article
觀念小叮嚀:強制型轉
Preview
06:14
比較運算子
Preview
19:42
相等性比較表格
Preview
Article
存在與布林
Preview
07:24
預設值
Preview
07:51
框架小叮嚀:預設值
Preview
07:11
Section 4: 物件與函數
物件與「點」
15:23
物件與物件實體
10:32
框架小叮嚀:偽裝命名空間
08:07
JSON 與物件實體
07:17
函數就是物件
08:02
函數陳述句與函數表示式
20:32
觀念小叮嚀:傳值和傳參考
16:09
物件、函數與「this」
21:26
觀念小叮嚀:陣列——任何東西的集合
05:39
'arguments' 與 spread
12:00
框架小叮嚀:重載函數
04:43
觀念小叮嚀:語法解析器
02:25
危險小叮嚀:自動插入分號
05:46
框架小叮嚀:空格
04:25
立即呼叫的函數表示式(IIFEs)
17:07
框架小叮嚀:IIFEs 與安全程式碼
08:05
瞭解閉包(一)
11:09
瞭解閉包(二)
19:20
框架小叮嚀:Function Factories
12:24
閉包與回呼
08:26
call()、apply() 與 bind()
20:54
函數程式設計(一)
20:17
函數程式設計(二)
08:05
Section 5: JavaScript 的物件導向與原型繼承
觀念小叮嚀:古典和原型繼承
05:11
瞭解原型
14:02
所有東西都是物件(或純值)
05:46
Reflection 與 Extend
14:59
Section 6: 建立物件
函數建構子、「new」與 JavaScript 的歷史
15:53
函數建構子與「.prototype」
10:24
危險小叮嚀:「new 」與函數
04:16
觀念小叮嚀:內建的函數建構子
10:32
危險小叮嚀:內建的函數建構子
03:57
危險小叮嚀:陣列與 for in
03:16
Object.create 與純粹的原型繼承
12:37
ES6 與類別
06:27
Section 7: 雜談
初始化
05:41
「typeof」、「instanceof」與搞清楚這是什麼
06:41
嚴謹模式
05:51
嚴謹模式參考資料
Article
Section 8: 檢驗知名的框架與資源庫
從好的程式碼學習
03:51
深入瞭解原始碼:jQeury(一)
21:31
深入瞭解原始碼:jQeury(二)
15:38
深入瞭解原始碼:jQeury(三)
11:22
Section 9: 來打造一個框架/資源庫!
需求
02:57
打造安全的程式
03:07
我們的物件與其原型
09:17
屬性與可鏈結方法
16:58
增加 jQuery 支援
05:22
好的註解
02:21
來使用我們的框架吧!
08:11
小提醒
00:32
Section 10: BONUS 課程
TypeScript、ES6 與轉譯式語言
04:33
轉譯式語言參考資料
Article
Section 11: BONUS:準備 ECMAScript 6
現有與即將出現的功能
00:54
ES6 功能參考資料
Article
Section 12: 結論
學習愛上奇怪的部分
01:14

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Anthony Alicea, Software Developer, Architect, and UX Designer

Newly married in Cleveland Ohio, Tony is primarily focused these days on trying to be a good husband. While inexperienced at that, he's quite experienced in all things web.

Tony has been programming since he was 12 years old, and got into web sites and web application development at 16. After graduating with a Computer Science degree from Case Western Reserve University, Tony continued with that interest as a Microsoft certified software application developer and architect, database designer, and user interface designer.

His experience has ranged across technologies such as HTML5, CSS3, ASP .NET MVC, JavaScript, jQuery, KnockoutJS, AngularJS, NodeJS, LESS, Bootstrap, SQL, Entity Framework and more.

He believes strongly that deeply understanding any topic allows you to properly learn it and, even more importantly in a real-world environment, quickly overcome problems.

He also has a deep interest in human nature and behavior, and how that impacts human-computer interaction. This interest translated into extending his career into user experience design and usability research.

Another link in the chain is his 25 years of experience in public speaking and teaching, both in front of large groups and as a one-on-one private instructor.

Putting all these pieces together, he has spent his career listening to a client need, designing a database and software to meet that need, building it, testing it, teaching others how to use it, then improving user experience by watching people actually use it and adjusting accordingly.

Tony loves teaching every aspect of what he does, and even more loves teaching in a way that imparts understanding, as opposed to just examples intended to be parroted. He loves that moment when a student 'gets it', and that's what he wants for you when you take one of his courses.

He has found that those that learn purely by example, and not by understanding, end up much more limited than they need to be.

"Examples need to be built on top of context, and once you have context, you can not only copy the examples you find, but adjust and improve upon them."

He firmly believes that everyone has the ability to develop software, if they are just taught properly. Including you.

"It is my pleasure and privilege to teach you. I hope you'll come away knowing something you didn't before, understanding at a level deeper than before, and feeling positive that you can accomplish what you've set out to accomplish. Thank you!" - Tony Alicea

Ask Tony a question, read a post, or follow him around internet.

Instructor Biography

GM Tang, 熱愛線上自學的人

我是線上自學者。

自學除了需要足夠的熱情外,我認為最困難的是持續接觸。長時間所累積的效果,絕對比迅速熟悉有效許多,學習新知識時絕對是欲速則不達。

雖然我還在持續學習,但我也希望同時貢獻己力將知識傳遞出去。

Instructor Biography

慕課 台灣, Udemy 台灣合作夥伴

慕課股份有限公司是台灣專注於線上教育的公司,領域包括網路行銷、軟體開發、視覺設計、資料科學等等,目標是希望讓台灣的所有人能夠自由的教學、自由的學習。慕課會協助並輔導所有的講師進行課程錄製、推廣、定價,希望每個講師都能夠得到成功。

慕課股份有限公司同時與悠識數位、智庫驅動等多個知名教育單位合作,是台灣線上課程最好的入口。

學習,應該是隨手可得的。


Ready to start learning?
Take This Course