function import (path) {
var i, base="";
var src = 'mtm.js'; // 這裡的 mtm.js 要與「存有這程式片斷的檔案」相同的檔名
var scripts = document.getElementsByTagName("script"); // 照理說,這是一個陣
列
var hadExisted = false;
path = path.replace(/\./g, "/") + '.js'; // 會幫忙加上副檔名 .js
for (i=0; i<scripts.length; i++) {
if (scripts[i].src.match(src)) {
base = scripts[i].src.replace(src, "");
}
if (scripts[i].src.match(path)) {
hadExisted = true;
}
}
if (!hadExisted) {
document.write("<" + "script src=\"" + base + path + "\"></" +
"script>");
}
}
再來看示範檔案,這邊用的也是 javascript:
/* in Matrix.js */
import ('core.math.MathHelper'); /* 路徑可以用 . 也可以用 / */
import ('core.math.const');
function Matrix(args)
{
....
}
/* in Vector.js */
import ('core.math.MathHelper'); /* 路徑可以用 . 也可以用 / */
import ('core.math.const');
function Vector(args)
{
....
}
這樣用的原因是,在定義物件時,可以以比較模組化的方式設計,因此有些元件可以跟別的物件共用,在使用上有可能別人已經載入了,所以透過
import 來判斷,若已載入就不要重複載入。
0 意見:
張貼留言