1. 获取地址栏参数

 GetQueryString: function(name){     // 获取地址栏参数

            var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return decodeURIComponent(r[2]); return null;
}

2. 如果有一个结构比较深的json表,需要通过属性去遍历他的层次

function deepJson(obj, page) {
var result = {};
; (function walkTree(obj, page) {
for (key in obj) {
if (key == page) {
result = obj[key];
break;
} else if (obj[key].subMenu) {
walkTree(obj[key].subMenu, page);
}
}
})(obj, page);
return result;
}

  

 

var htmlconfig = {
system: {
text: '系统配置',
subMenu: {
account: {
text: '账号管理',
crumbs: 'system/account',
url: '#system/account'
},
role: {
text: '角色管理',
crumbs: 'system/role',
url: '#system/role'
},
function: {
text: '功能管理',
crumbs: 'system/function',
url: '#system/function'
},
permission: {
text: '权限设置',
crumbs: 'system/permission',
url: '#system/permission'
},
schedule: {
text: '任务调度',
crumbs: 'system/schedule',
url: '#system/schedule/index',
subMenu: {
service: {
text: '服务配置',
crumbs: 'system/schedule/service',
url: '#system/schedule/service',
subMenu: {
work: {
text: '任务作业配置表',
crumbs: 'system/schedule/service/work',
url: '#system/schedule/work'
},
}
}
}
},
config: {
text: '配置设置',
crumbs: 'system/config',
url: '#system/config'
}
}
}
}
}
}; module.exports = htmlconfig;

deepJson(htmlconfig,'service')

 

//根据路由确定面包屑的菜单
function deepJsonMenu(page) {
var result = {},
obj = utilSys.crumbConfig;
var menu = page.split('/'),
testObj = {};
var firstLevel = obj[menu[0]];
var otherObj = firstLevel;
testObj[0] = firstLevel;
for (var i = 1, len = menu.length; i < len; i++) {
testObj[i] = otherObj.subMenu[menu[i]];
otherObj = testObj[i];
}
return testObj;
}

  deepJsonMenu('#system/config')

 

获取地址栏参数,json遍历的更多相关文章

  1. 用JS获取地址栏参数的方法

    采用正则表达式获取地址栏参数: function GetQueryString(name) {      var reg = new RegExp("(^|&)"+ nam ...

  2. 用JS获取地址栏参数的方法(超级简单)

    方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) {      var reg = new RegExp("( ...

  3. JS获取地址栏参数

    获取地址栏参数(其中name为你所需要的参数值) function GetQueryString(name) { var reg = new RegExp("(^|&)" ...

  4. JS 获取 地址栏 参数

    法一:正则表达式 /** * 采用正则表达式获取地址栏参数: **/ var GetQueryString = function (name) { var reg = new RegExp(" ...

  5. 用JavaScript获取地址栏参数的方法

    /** * 获取地址栏参数 * * @example GetUrlString('id') * * @desc 调用时加上判断,保证程序不会出错 * var myurl = GetUrlString( ...

  6. 【2017-06-27】Js中获取地址栏参数、Js中字符串截取

    一.Js中获取地址栏参数 //从地址栏获取想要的参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" ...

  7. 【功能代码】---4用JS获取地址栏参数方法

    用JS获取地址栏参数方法 // 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new Reg ...

  8. (转)用JS获取地址栏参数的方法(超级简单)

    转自http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html 用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获 ...

  9. vue项目获取地址栏参数(非路由传参)

    在项目中,遇到一个需求,就是另一个系统直接跳转到我们项目中的某个页面,不需要做用户的校验直接单纯的跳转新页面,再初始化查询数据,参数以地址栏的形式传入 由于原来项目做过权限控制,所以在路由那边需要进行 ...

随机推荐

  1. 如何快速编写大项目的Makefile文件

    在构建C++的后台服务时,经常需要自己来编写makefile文件,而如果没有合适的方法或模板时,编写makefile文件是一件很费时费力的事情.因此,为了帮助程序员高效准确的编写makefile文件, ...

  2. Windows下安装CUDA8.0

    在Win10下安装CUDA8.0,并使用VS2013测试: 机器配置: Windows 10 VS 2013 CUDA8.0 CUDA 8.0:下载地址 CUDA其他版本:下载地址 1. 安装CUDA ...

  3. ue4 fuck

    https://answers.unrealengine.com/questions/661969/uspringarmcomponent-ucameracomponent-not-identifie ...

  4. 2014-10-24 NOIP欢乐赛

    10-24NOIP欢乐赛 ——By 潘智力 题目名称 分火腿 无聊的会议 班服 时间限制 1s 1s 1s 内存限制 64MB 128MB 128MB 输入文件 hdogs.in meeting.in ...

  5. 我的省选 Day -15

    Day  -15 23:22:45 还有十几天就要去参加省选啦~,今天开始写日记记录一下,所以今天是第负十五天. 今天是阶段考的第二天(由于奥赛不用考试的我7:30才慢悠悠地到机房 早上学习动态DP, ...

  6. 查看java 版本

    执行 java -version 命令,如下图所示如果没有明确显示位数的,则说明是32位 C:\MyTools\jdk1.7.0\bin>java -version java version & ...

  7. php根据出生日期获取年龄

    /** * @param $birthday 出生年月日(1992-1-3) * @return string 年龄 */ function countage($birthday){ $year=da ...

  8. JSONPath中的表达式

    在JsonPath中使用表达式是一个非常好的功能,可以使用简洁和复杂的JsonPath.JsonPath中的表达式基本上是评估为布尔值的代码片段.基于结果,仅选择满足标准的节点.让我们看一下它的更多内 ...

  9. mysql 启动停止脚本 and mysql 迁移 导入和导出

    ####监控脚本 [root@pdb~]# more /opt/VRTS/scripts/mysql_monitor.sh#!/bin/shn=`ps -ef |grep mysql|grep &qu ...

  10. kali linux 通过跑包的方式破解wifi密码

    1. wlan0开启monitor mode    :    airmon-ng start wlan0 2. 查看附近的无线网络     : airodump-ng wlan0mon 3. 抓取无线 ...