模板路徑常量傳址到js檔案中的小技巧

2021-06-03 08:57:43 字數 834 閱讀 9413

本帖最後由 zzguo28 於 2009-8-17 08:56 編輯

thinkphp 內建模板引擎中有一些快捷路徑

定義,

可以很方便地對應目錄,使用中模板會自動解釋這些路徑

通常要將這些路徑傳值到js檔案中,我們會使用

複製**

這種方式,但這樣定義的是全域性變數並不是很好,引用:

當js解析器執行時首先就會在執行環境裡構建個全域性物件,

定義全域性屬性就是作為該物件屬性讀取在頂層**中,

我們使用this關鍵字和window物件都可以訪問到它

而體中區域性變數只在執行時生成物件中存在

執行完畢時區域性變數即刻銷毀

因此在設計中我們需要考慮如何合理宣告變數

這樣既減小了不必要記憶體開銷

同時能很大程度地避免變數重複定義而覆蓋先前定義變數所造成debug麻煩

其實我們也可以使用這種方式,當需要的時候才進行呼叫:

function consts(v) ',

aname   :   '',

public  :   '../public/'

};return cons[v];}

複製**

// 這樣呼叫也比較清晰方便

alert ( consts('public') );

如果是jquery,也可以這樣使用

複製**

在jquery中獲取相應的解析:

var url = $.consts.url

TP 路徑常量

tp 路徑常量 一 文件 二 常量 系統和應用的路徑常量用於系統預設的目錄規範,可以通過重新定義改變,如果不希望定製目錄,這些常量一般不需要更改。ds 當前系統的目錄分隔符 think path 框架系統目錄 root path 框架應用根目錄 lib path 系統類庫目錄 預設為 think p...

問號傳參與路徑傳參

需要使用問號來拼接引數,在接受方,使用request.getparameter key 來獲取問號所傳遞過來的值,如果資料型別不為string,還需要手動轉換。可以傳遞多個值,如果使用多個值,使用 來拼接,不會改變路徑級別 使用路徑符號來傳遞引數,優點,可以不用做型別轉換來直接獲取其值。路徑傳參也可...

傳常量與變數的區別

向建構函式或其他函式中傳入引數時,如果是執行時繫結,則傳常量與變數是有區別的。例如 include include include class con void say private const std string m name int main 這個的執行結果是 結果不一樣,可能是因為編譯器,...