2013-03-03 58 views
4

我的兒子玩Khan Academy's Computer Science和學習很多。Khan Academy CS使用何種語言?

該應用程序在瀏覽器中的JavaScript上運行,但該語言不完全符合JavaScript約定。例如 隨機的(低,高) 而不是JavaScript的 的Math.random()

有誰確切地知道他們正在使用什麼語言?

what's on the site link之外是否還有更多完整的文檔,因爲這看起來像是功能和方法的不完整列表。

+0

這就是我說的。 那麼可汗學院使用什麼語言,哪裏是完整的文檔? – Transistor 2013-03-04 20:30:38

+0

我想指出,這並不重要。它們使用的語法是最常用的C或Java風格語法,也適用於許多其他語言,如C#。 – 2014-05-24 17:51:31

回答

7

我相信他們只是把它包裝起來,開發自己的功能,下面是JavaScript。

如說:

所有的汗學院計算機科學平臺的代碼是 使用JavaScript和Processing.js寫。

https://www.khanacademy.org/cs/docs

1

汗學院使用JavaScript,在處理JS庫圖。 處理JS是處理語言的一個JavaScript端口:

處理是由本·弗萊&凱西REAS開發開放的可視化語言,最初由約翰Resig的移植到Java腳本。 Processing.js由Processing.js團隊維護。

4

對於原始問題,這有點晚了,但對於任何可能發現此問題的人來說,祝你好運。 :)

我是CS大學生,我和KACS玩了很多。

原始Processing語言是Java的一個子集,但是有一個名爲processing.js的JavaScript版本。可汗學院CS沙盒使用processing.js庫,但沙盒本身使用普通的舊javascript - 儘管在右側的輸出窗口中呈現代碼之前需要經過幾個步驟。

換句話說,代碼是從左側的文檔編輯器中以文本形式獲取的,然後仔細研究並注入到右側的沙盒運行環境中。沙箱策劃環境以結合原生javascript和processing.js函數的子集(它們本身來自processing.js庫的javascript形式)。

random(a, b)不是Math.random()而是一個processing.js幫助函數,它本身使用Math.random給出a和b之間的結果。

還有一點(特別是lint,KACS運行環境的一些小技術細節和一些特定於KACS環境而不屬於processing.js的幫助程序功能),但是如果要設置讓自己的沙箱工作,就像KA沙箱一樣,你可以下載processing.js here。我通過在名爲sandbox.html的純文本文件中使用以下代碼,製作了一個快速而骯髒的沙箱。

<html><head><script src="processing.min.js"></script></head><body><canvas id="output-canvas"></canvas><script>var sketch = function (processing){with(processing){size(400, 400);background(255); 

// example 
// fill(255, 0, 0); 
// ellipse(0.5*width, 0.5*height, 100, 50); 
// your code here 

}};var p = new Processing(document.getElementById("output-canvas"), sketch);</script></body></html> 

然後把上面的文件在同一文件夾中processing.min.js,只需要輸入你的代碼,它說// your code here,保存和打開文件。

處理函數的完整列表的文檔是here

享受!

-1

Khanacademy使用PJS(處理Java腳本),它是一個JS庫。

+0

這只是重複現有的答案。 – 2017-03-17 12:42:44

1

> 使用普通的Java腳本,處理Java腳本,並進行一些編輯一路上,汗學院創造了有自己版本的Java腳本,稱爲KAPJS。

>