zoukankan      html  css  js  c++  java
  • Javascript通过URL传递对象

    var aaa = {
        bbb : 123,
        ccc : 'cccc',
        ddd : new Boolean("true"),
        eee : {
            eee1 : 987,
            eee2 : 'eeestr',
            eee3 : {
                fff1 : 346,
                fff2 : 'ffffff222',
                fff3 : new Number(23)
            }
        }
    };
    
    
    function toParameter(obj){
        if(obj === null || obj === undefined){
            return '';
        }
        if(obj instanceof Number || obj instanceof Boolean || obj instanceof String){
            return obj.valueOf();
        }
        var url = [];
        var value;
        for(var name in obj){
            switch(typeof obj[name]){
                case 'string' :
                case 'number' :
                case 'boolean' :
                    value = obj[name].toString();
                    break;
                case 'object' :
                    value = arguments.callee(obj[name]);
                    break;
                case 'function' :
                case 'undefined' :
                    value = '';
            }
            url.push(name + '=' + encodeURIComponent(value));
        }
        return url.join('&');
    }
    
    function parseParameter(para){
        if(para.indexOf('=') == -1){
            return para;
        }
        var obj = {}, len, i, onePara, name, value;
        paraArr = para.split('&');
        len = paraArr.length;
        for(i = 0; i < len; i++){
            onePara = paraArr[i];
            onePara = onePara.split('=');
            name = onePara[0];
            value = arguments.callee(decodeURIComponent(onePara[1]));
            obj[name] = value;
        }
        return obj;
    }
    
    
    var parameter = toParameter(aaa);
    
    alert(parseParameter(parameter).eee.eee3.fff3);
    

      

  • 相关阅读:
    为zabbix穿上一件漂亮的外衣
    CentOS7 Ceph分布式集群部署
    SSH 免秘钥登录
    zabbix监控Tomcat/JVM 实例性能
    zabbix 监控 IPMI
    2装饰者模式
    1代理模式
    3单例模式
    2抽象工厂模式
    1工厂模式
  • 原文地址:https://www.cnblogs.com/realwall/p/2197153.html
Copyright © 2011-2022 走看看