JavaScript 页面跳转并传值,解析url成对象

一、页面跳转
1.window.location.href=”test01.html”;//本地页面跳转
2.window.open(“test01.html”) // 打开新窗口
3.window.location.assign(“http://blog.csdn.net/male09“);//加载一个新的文档。

二、页面传值

需要跳转的 url:
var url = "TestJS.html"+"?"+"key1="+12+"&"+"key2=传递参数"+"&"+"key3=key3"+"&"+"key4=key4"+"&"+"key5=key5";

执行的方法: window.location.assign(encodeURI(url));

方法参考w3c JavaScript 全局属性:

属性 描述:
Infinity——代表正的无穷大的数值。
NaN——指示某个值是不是数字值。
undefined——指示未定义的值。

JavaScript 全局函数
函数 描述
decodeURI()——解码某个编码的 URI。
decodeURIComponent()——解码一个编码的 URI 组件。
encodeURI()——把字符串编码为 URI。
encodeURIComponent()——把字符串编码为 URI 组件。
escape()——对字符串进行编码。
eval()——计算 JavaScript 字符串,并把它作为脚本代码来执行。
isFinite()——检查某个值是否为有穷大的数。
isNaN()——检查某个值是否是数字。
Number()——把对象的值转换为数字。
parseFloat()——解析一个字符串并返回一个浮点数。
parseInt()——解析一个字符串并返回一个整数。
String()——把对象的值转换为字符串。
unescape()——对由 escape() 编码的字符串进行解码。

三、解析url并封装:

    //获取到的url值是以"?"开头的url
    var deocdeURL = decodeURI(location.search);//解码url

    //封装的解析url的方法
    function doClickfamg(){
        var pureURL = deocdeURL.split("?")[1];//获取"?"以后的参数
        var valuesArray = pureURL.split("&");
        var url_Object = new Object();
        for(var i = 0;i< valuesArray.length;i++){
            var key_value = valuesArray[i].split("=");
            //动态给对象添加key和value
            //是以传递过来的key和value作为解析后的新的对象的key和value
            url_Object[key_value[0]] = key_value[1];
        }
        return url_Object;//返回对象
    }

四、获取url传的值

//调用解析方法
 var mydecodeURI = doClickfamg();
 //比如我要知道传递的key2的value是什么
alert(mydecodeURI.key2);

结果:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/male09/article/details/76439084