### require("路徑");
加載文件。路徑可以是絕對路徑(如:"/t.js")或相對路徑(如:"t.js","../t.js")。
### timerun(毫秒,"函數(shù)名",[參數(shù)]);
定時任務(wù)隊列:延時或指定時間執(zhí)行指定函數(shù)。
* 毫秒
相對時間:毫秒?yún)?shù)小于 100000000000 (約3年時間)判定為相對時間,實際執(zhí)行時間=當前時間+相對時間;
絕對時間:毫秒為單位的unix時間,如果絕對時間小于當前時間,隊列會立即執(zhí)行。
相對時間保存至臨時隊列,進程退出后丟失;絕對時間保存至永久隊列,即使進程退出錯過的隊列,下次啟動的時候也會第一時間執(zhí)行。相對時間和絕對時間隊列的精度都是+-10毫秒,但是相對時間執(zhí)行效率會高一點。
* 函數(shù)名
必須是函數(shù)名,而且必須是經(jīng)過導(dǎo)出的函數(shù)(exports.函數(shù)名)。
可以用點隔開加上相對或絕對路徑,如:"./t.js.fun",則執(zhí)行同路徑下 t.js 中的 exports.fun 。
如果函數(shù)名為空字串"",則執(zhí)行參數(shù)中的代碼(注意下面的參數(shù)說明)。
* 參數(shù)
最多只能有一個參數(shù),但可以是數(shù)組。
如果函數(shù)名為空時,則執(zhí)行參數(shù)中的代碼。注意:參數(shù)里的代碼與當前上下文無關(guān),也就是不能訪問到timerun同級或上級的變量,而且代碼也不能使用 require() 和 timerun() 功能。
* 返回值
返回值為一個字符串,可以用于修改或刪除任務(wù)隊列(zx.timeset())。
### zx.timeset(timerun返回值,[毫秒]);
修改一個已有任務(wù)隊列的時間,(會根據(jù)毫秒?yún)?shù)轉(zhuǎn)換為永久或臨時隊列。)。如果不帶毫秒?yún)?shù),則刪除掉這個隊列。如果隊列不存在或已經(jīng)被執(zhí)行返回false,否則返回true。
### exports.run = function(){}
把此函數(shù)保存在文件名為"!autorun.js"的文件內(nèi),當進程啟動時會自動執(zhí)行run函數(shù)。
文件可以多個,可以放在工作根目錄或子目錄,每個文件執(zhí)行一次,執(zhí)行的順序不固定。
### module.filename;
一個內(nèi)置變量,保存著當前完整路徑名,最好不要修改,否則會影響到 require() 和 timerun() 功能。
### zx.filename([id]);
用文件id獲取完整路徑名;不帶id參數(shù)則獲取當前文件路徑(注)。
注:此功能存在缺陷,獲取到的當前文件路徑不一定等于 module.filename ,而是等于原始調(diào)用者的路徑。比如在 /a.js 執(zhí)行調(diào)用 /b.js 中的 zx.filename(),得到的是 “/a.js”,但執(zhí)行讀取 /b.js 中的 module.filename ,得到的又是 "/b.js";
### zx.fileid(["dir"]);
獲取路徑id;不帶路徑參數(shù)則獲取當前路徑id(注)。
注:當前路徑id不一定是 module.filename 的 id ;表現(xiàn)同上。
### zx.sys("eval","代碼");
執(zhí)行一段代碼,與eval()的區(qū)別是有錯誤日志輸出,主要方便用于調(diào)試。(注:zx.sys("功能",[參數(shù)]) 包含一系列系統(tǒng)功能,詳見“系統(tǒng)相關(guān)”章節(jié))。
