模板路径常量传址到js文件中的小技巧

来源:互联网 发布:什么是优化发展环境 编辑:程序博客网 时间:2024/03/29 04:54
ThinkPHP 内置模板引擎中有一些快捷路径定义,
可以很方便地对应目录,使用中模板会自动解释这些路径

通常要将这些路径传值到js文件中,我们会使用
  1. <script type="text/javascript">
  2. var URL = '__URL__',
  3. APP = '__APP__',
  4. PUBLIC = '__PUBLIC__';
  5. </script>
复制代码
这种方式,但这样定义的是全局变量并不是很好,引用:


当JS解析器执行时首先就会在执行环境里构建个全局对象,
定义全局属性就是作为该对象属性读取在顶层代码中,

我们使用this关键字和window对象都可以访问到它
而体中局部变量只在执行时生成对象中存在
执行完毕时局部变量即刻销毁
因此在设计中我们需要考虑如何合理声明变量
这样既减小了不必要内存开销
同时能很大程度地避免变量重复定义而覆盖先前定义变量所造成Debug麻烦



其实我们也可以使用这种方式,当需要的时候才进行调用:
  1. function consts(v) {
  2.     var cons = {
  3.         url     :   '__URL__',
  4.         mname   :   '{*MODULE_NAME}',
  5.         aname   :   '{*ACTION_NAME}',
  6.         public  :   '../Public/'
  7.     };
  8.     return cons[v];
  9. }
复制代码
// 这样调用也比较清晰方便
alert ( consts('public') );

如果是jquery,也可以这样使用

  1. <script type="text/javascript">
  2. $.consts = {
  3.         url    :   '__URL__',
  4.         gname  :   '{*GROUP_NAME}',
  5.         mname  :   '{*MODULE_NAME}',
  6.         aname  :   '{*ACTION_NAME}',
  7.         public :   '__Public__'
  8.     };
  9. </script>
复制代码
在jquery中获取相应的解析:
var url = $.consts.url
0 0
原创粉丝点击