成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaScript將成為計算機學習第一語言

開發 前端
在Khan Academy,將以一種新的有趣方式教授學生計算機科學。其中最有趣的部分就是可能會將JavaScript作為學科的第一語言。

我們主要是教授那些已經接受了數學和科學中心課程的學生。因此我們能夠做一些更加能激發大家興趣的練習或是項目。

將JavaScript作為***語言是一件非常令人激動的事情。向熟悉傳統繼承方法的開發者教授原型繼承方法是一件令人沮喪的事情(導致許多詣在復制JavaScript中繼承類的庫如雨后春筍般涌現)。向那些沒有接受過任何繼承方法學習的人員介紹原型繼承相對而言會輕松很多。學習函數型程序設計也是同樣的道理。使用JavaScript也可以體驗到函數型編程方式,并且也是我們課程的一個關注重點。

在將JavaScript作為***語言之前,還有幾點困難需要克服(這是人們在使用JavaScript時常常會碰到的)。為了避免這些常見的問題,我們需要在代碼編輯器中使用某種形式的linting(JSLint或是JSHint,又或是其他類似的東西),用來告訴用戶環境信息。

我們希望避免傳統的語法教學方法,讓大家能夠通過使用這門語言更加容易地掌握它。這里有兩個突出的改變,用來簡化學習的過程。

注意:只有當學習者是那些從來沒有接觸過任何編程語言、相關規范、代碼和庫的人,這些特別建議才能真正有效。當然,如果需要提升學生的層次,讓他們能夠“看到任何一個跨瀏覽器的JavaScript代碼,都能理解代碼的含義”,還有許多工作要做。

強制類型轉換

正如許多人指出的,強制類型轉換是一件很混亂的事情,這一點Douglas Crockfor在JavaScript: The Good Parts中特別提到過。

可以在學習了其他的課程以后再來討論這個問題…比如學習了原型,函數程序設計和閉包之后。

 

我推薦***個改變就是只讓學生使用===(和!==)。雖然使用‘==’在語法上比較短,但是它有許多強制類型轉換的限定和用法,在初步學習編程以前教授這些內容沒有太大的意義。

 

一個例外的情況是,如果你需要檢查一個變量是否是一個null或者是一個未定義的值。這可以通過一個簡單的someVar == null示例帶過,這也是唯一使用==的地方。(另一個例外是在IE中的瀏覽器bug,用===檢查Windows對象總是返回false,但是我們并不會在我們的課程中介紹這個例子。)

Falsy值

和==一樣,falsy值也肯能引起混亂。進行嚴格的布爾檢查將減少邊緣效應,但是會增加代碼量。可以將falsy值限定為布爾值,null和未定義的數值,而將字符串falsy值留給大家以后學習。

函數聲明

其中最有趣的改變是一個很微妙的變換,它避開了創建匿名函數和為他們指定變量時的函數聲明。

 

使用這個技巧能培養一些好的習慣。

 

更易于理解“函數即對象”。我發現當你將一個指定了變量的函數展示給開發者時,他們更容易理解函數就是一個對象(以及一個函數可以作為一個參數傳遞給另一個函數)。學生們能夠更好地理解函數程序設計。

它能夠形成良好的分號使用習慣。只有在傳統的函數聲明中不需要使用分號結束(當然,還包括條件語句和循環語句),這樣學生對于應該如何使用分號就相當清晰了。

不要有太多與功能函數和循環有關的包,

塊作用域

這是***一個具有挑戰的知識點,目前為止我還沒有找到一個特別好的教學方案。光是弄清楚在循環內聲明的變量就已經令開發者非常頭疼了。如果無法更加直觀地解釋變量聲明的作用域的話,就只能從純粹的技術角度來解釋了。

(但是我還不確定是否應該在一開始就介紹function(){…}();這樣的函數塊。)

將JavaScript作為***語言

需要指出的是盡管我們準備將JavaScript作為***語言——主要是由于它具有普遍性,符合大量工作環境的需求,無需事先安裝,開發的內容可以分享——但我們不會將眼光只局限在JavaScript上。還有許許多多的其他語言也是非常重要的,從這些語言里面能學到許多在JavaScript中沒有的技巧,我們也應該將這些內容加入到我們的課程中來。

在視頻中介紹了更多關于我們選擇JavaScript的原因,以及我們開發中支持的瀏覽器介紹。

我盡量避免跨瀏覽中出現的各種特殊問題。因此我們會盡量使用現有的庫(如繪制canvas或是操縱DOM),只有在與我們最終支持的瀏覽器一致的情況下才會使用JavaScript語言的功能。

 

[[54973]]

作者簡介:John Resig是Open Source的院長,以及Khan Academy的JavaScript開發組長,出版了Pro JavaScript Techniques,他還參與了 jQuery JavaScript library的開發并且擔任了領導工作。

 

目前,John在Boston, MA,并在準備他的第二本書Secrets of the JavaScript Ninja。

原文:http://www.webapptrend.com/2011/12/1245.html

【編輯推薦】

  1. 編寫高質量JavaScript代碼的基本要點
  2. 20個將JavaScript推到***的網站
  3. 避免悲劇 JavaScript密碼生成器
  4. 大型JavaScript應用程序架構模式
  5. JavaScript開發者必備的十款超級有用的工具
責任編輯:陳貽新 來源: Web App Trend
相關推薦

2018-12-24 12:14:29

計算機芯片 技術

2009-09-22 17:30:00

計算機世界

2009-09-16 16:18:51

2009-09-22 17:12:22

計算機原理教材

2018-01-15 14:20:57

編程語言學習方法

2011-07-04 10:10:08

2020-09-22 09:38:15

邊緣計算創新分布式計算

2013-09-17 10:03:28

計算機學習

2011-10-31 09:42:41

云計算電子政務電子商務

2024-05-15 08:12:11

SignalJavaScriptPromises

2019-09-10 12:58:03

電腦編程語言硬件

2009-03-31 19:14:09

Vmware虛擬化云計算

2009-09-02 17:56:31

ScalaWeb 2.0

2023-11-09 23:51:32

2020-06-29 17:25:54

工業邊緣計算OT云計算

2012-11-20 09:19:21

ARM超級計算機HPC

2009-06-15 16:52:57

魔方超級計算機上海

2018-11-30 08:19:48

2011-03-03 21:17:51

程序員

2023-02-27 14:21:01

云計算云原生IT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91麻豆蜜桃一区二区三区 | 精品在线视频播放 | av免费网址| 久久久精品综合 | 亚洲激情一级片 | 国产精品免费一区二区三区四区 | 九色 在线 | 一区二区福利视频 | 狠狠爱综合网 | 亚洲一区二区在线免费观看 | 精品九九九 | 91国在线观看 | 久久777| 国产特级毛片 | www.久草| 精品久久久久国产免费第一页 | 日韩综合一区 | 欧美在线视频一区二区 | 精品一区二区三区视频在线观看 | 久久精品国产亚洲 | 亚洲综合国产精品 | 99热碰| 亚洲欧美视频一区 | 99久久免费精品国产免费高清 | 欧美三区| 97国产精品视频人人做人人爱 | 在线视频99 | 国产精品久久久久久一级毛片 | 亚洲精选一区二区 | 成人av一区 | 麻豆久久久久久 | 2022精品国偷自产免费观看 | 91精品国产欧美一区二区 | 色姑娘综合网 | 99久久久久久99国产精品免 | 免费视频久久久久 | 欧美国产中文 | 国产精品久久国产精品99 gif | 麻豆亚洲 | 午夜合集 | 免费观看色 |