Javascript,javascript是一種腳本編程語言,有本身獨立的語法與語義,沒有javascript,也就沒有其餘的那些概念了。javascript
關於ES6,可直接理解爲javascript的加強版(增長了新的規範、特性與功能)或最新版,二者之間雖然略有差別,但也能夠忽略(不要在乎這些細節,呵呵),就有點相似於JAVA8與JAVA語言的關係,一樣既然有ES6,那麼也還有ES 5與ES 3,都是Javascript在發展過程當中的發佈版本。java
Commonjs、AMD以及曾經很火的CMD都只是爲了解決javascript文件之間的依賴與引用問題,因此它們只是一種Javascript的包管理規範。在組織你的JS代碼時,你徹底能夠根據本身的喜愛,選擇合適的包管理規範,但要注意,儘量只選擇一種。node
在nodejs出現以前,javascript主要應用於瀏覽器端,因此nodejs也很好理解了,nodejs是對javascript脫離瀏覽器的應用延展,它還提供了運行引擎與相關API,因此nodejs是javascript開發本地應用、服務器應用的一個開發套件,注意了,由於nodejs採用了javascript的語法,因此nodejs不是一種開發語言。es6
做者:http://blog.csdn.net/yiifaa/article/details/54376458編程
es6 {瀏覽器
export : '能夠輸出多個,輸出方式爲 {}' ,服務器
export default : ' 只能輸出一個 ,能夠與export 同時輸出,可是不建議這麼作',yii
解析階段肯定對外輸出的接口,解析階段生成接口,編程語言
模塊不是對象,加載的不是對象,this
能夠單獨加載其中的某個接口(方法),
靜態分析,動態引用,輸出的是值的引用,值改變,引用也改變,即原來模塊中的值改變則該加載的值也改變,
this 指向undefined
}
commonJS {
module.exports = ... : '只能輸出一個,且後面的會覆蓋上面的' ,
exports. ... : ' 能夠輸出多個',
運行階段肯定接口,運行時纔會加載模塊,
模塊是對象,加載的是該對象,
加載的是整個模塊,即將全部的接口所有加載進來,
輸出是值的拷貝,即原來模塊中的值改變不會影響已經加載的該值,
this 指向當前模塊
}