多個JS檔, module, timer
ES5 (ECMAScript 5) 時,JavaScript本身並沒有內建module的概念. module一般可視做Function及資料(object)的集合. 且通常是散布在多個檔案裡.
一個Project中使用多個JavaScript檔案
通常是 1. 自己的一個JS檔案 + 引入別人寫好的JS檔案 2. 自己的就拆成多個檔案, 這樣可以避免一個檔案過大
Browser端: 可由<script>
來引入JS檔案, 下面的例子中, B.js因為是後引入的, 所以可以讀到A.js裡的global變數, 且B.js定義的global function會蓋過A.js同名字的,就等同於兩個JS檔案拼在一起.
Node.js端: 需使用Node.js自己實作的CommonJS module方式(require/exports
)
examples: 待補充
Browser端可以使用像是webpack等打包JS工具
webpack有幾種功能
把多個JS檔案合成一個, 這樣
<script>
使用一個就好同時把JS檔案minified混淆打亂過, 使別人無法輕易看到完整source code
可使用Node.js的CommonJS的寫法(require等)來讓A file引用B file的東西.
ES6的module (import/export)
不管是Browser端以及Node.js端, 都沒有內建支援ES6的原生module語法. 但可以使用Babel等JS compiler工具來使用
語法參考:
https://github.com/lukehoban/es6features/blob/master/README.md#modules
timeout
timer的用法跟陷阱
Last updated