浏览 2135 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-08-10
//定义顶块命名空间 if (!window['BJE']) { window['BJE'] = {}; } /** * 包列表 -- 用于调试使用 * @type {} */ BJE.packageList = []; /** * 定义包命名空间 * * @packageNames 包名 * BJE.package("bje.css.sprite",'bje.ext'); */ BJE.package = function() { /** * 验证包是否存在 * 从前往后验证,前置包节点不存在,返回false,所有包节点匹配返回true * 验证的目的,在于不重复创建 */ function isPackageExist(packageName){ var nsArr = packageName.split("."); var ns = '' ,noDefine = false ; var tpl = 'if (typeof #ns# == "undefined") noDefine = true ;'; for(k in nsArr){ ns += nsArr[k] + "." ; // 要替换最后的.号 //eval('if (typeof ' + ns.replace(/.$/gi, "") + ' == "undefined") noDefine = true ;'); eval(tpl.replace(/#ns#/gi,ns.replace(/.$/gi, ""))); if (noDefine) return false ; } BJE.packageList.push(packageName) ; return true ; } /** * 创建包 -- 传入包名 */ function create(packageName){ if (!isPackageExist(packageName)){ //do something ... var o = null, i, j, d, rt; d = packageName.split("."); rt = d[0]; eval('if (typeof ' + rt + ' == "undefined"){' + rt + ' = {};} o = ' + rt + ';'); for (j = 1; j < d.length; ++j) { o[d[j]] = o[d[j]] || {}; o = o[d[j]]; } BJE.packageList.push(packageName) ; } } function remove(packageName){ if (isPackageExist(packageName)){ //do something ... } } var packageNames = arguments; for (i = 0; i < packageNames.length; ++i) { //var packageNameArray = packageNames[i].split("."); if (!isPackageExist(packageNames[i])) create(packageNames[i]); } }
还是有些不完整,测试如下"
BJE.package("BJE.css.sprite", 'BJE.ext', 'BJE.ext.mail'); 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-08-11
Ext.ns()
|
|
返回顶楼 | |
发表时间:2009-08-25
function isNumber(val) { //return typeof val == "number"; 不能验证数字字符串 //return /^\d+$/.test(val); 不能验证 小数 return /^\d+(\.\d+)?$/.test(val); } var iv = isNumber ; alert(iv(123) + "/" + iv(123.2) + "/" + iv("123") + "/" + iv("123.23") + "/" + iv("12.21a") ); 递进学习js 验证是否为数字 |
|
返回顶楼 | |