亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

通過正則格式化url查詢字符串實現(xiàn)代碼

 更新時間:2012年12月28日 18:15:32   作者:  
看到項目里通過js數(shù)組split方法格式化查詢字符串的,突發(fā)奇想為什么不能用正則呢,性能如何?感興趣的朋友可以研究下哦
看到項目里通過js數(shù)組split方法格式化查詢字符串的,突發(fā)奇想為什么不能用正則呢,性能如何?于是便有了如下代碼:
復制代碼 代碼如下:

var url='www.baidu.com?a=123&b=456&c=789&e=dfsdfsdfsdfsdfsdfsdf&f=46545454545454785&g=e23232dsfvdfvdf';
/**
* 格式化查詢字符串(正則實現(xiàn))
* @param url url地址
* @return {Object} 格式化的json對象
*/
function formatUrl(url){
var reg=/(?:[?&]+)([^&]+)=([^&]+)/g;
var data={};
function fn(str,pro,value){
data[decodeURIComponent(pro)]=decodeURIComponent(value);
}
url.replace(reg,fn);
return data;
}
/**
* 格式化查詢字符串(數(shù)組實現(xiàn))
* @param url url地址
* @return {Object} 格式化的json對象
*/
function formatUrl2(url){
url=url.replace(/.*\?/,'');
var args={},
items=url.length?url.split("&"):[]
,item=null
,i=0
,len=items.length;
for(i=0;i<items.length;i++){
item=items[i].split("=");
args[decodeURIComponent(item[0])]=decodeURIComponent(item[1]);
}
return args;
}
var startTime=new Date();
for(var i=0;i<1000000;i++){
formatUrl2(url);
}
console.log('formatUrl2',(new Date()-startTime)); //formatUrl2 12138
startTime=new Date();
for(var i=0;i<1000000;i++){
formatUrl(url);
}
console.log('formatUrl',(new Date()-startTime)); //formatUrl 12537

測試瀏覽器是chrme 25;正則實現(xiàn)的函數(shù)居然比數(shù)組實現(xiàn)的函數(shù)要慢(淚奔....)。不過還好,在重復執(zhí)行一百萬次的情況下只慢0.4秒

相關文章

  • js鼠標移動時禁止選中文字

    js鼠標移動時禁止選中文字

    本文主要介紹了js鼠標移動時禁止選中文字的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 如何在postman中添加cookie信息步驟解析

    如何在postman中添加cookie信息步驟解析

    這篇文章主要介紹了如何在postman中添加cookie信息,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • JavaScript檢測實例屬性, 原型屬性

    JavaScript檢測實例屬性, 原型屬性

    這篇文章主要介紹了JavaScript檢測實例屬性, 原型屬性,需要的朋友可以參考下
    2015-02-02
  • JS 設置Cookie 有效期 檢測cookie

    JS 設置Cookie 有效期 檢測cookie

    這篇文章主要介紹了JS 設置Cookie 有效期 檢測cookie的相關資料,需要的朋友可以參考下
    2017-06-06
  • 微信小程序?qū)崿F(xiàn)簡單的搖骰子游戲

    微信小程序?qū)崿F(xiàn)簡單的搖骰子游戲

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)簡單的搖骰子游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • uni-app配置APP自定義頂部標題欄設置方法與注意事項

    uni-app配置APP自定義頂部標題欄設置方法與注意事項

    相信很多小伙伴在使用uniapp進行多端開發(fā)的時候,在面對一些業(yè)務需求的時候,uniapp給我們提供的默認導航欄已經(jīng)不能滿足我們的業(yè)務需求了,這篇文章主要給大家介紹了關于uni-app配置APP自定義頂部標題欄設置方法與注意事項的相關資料,需要的朋友可以參考下
    2022-07-07
  • 解決前端跨域問題方案匯總

    解決前端跨域問題方案匯總

    這篇文章主要介紹了解決前端跨域問題8種方案的相關資料,需要的朋友可以參考下
    2016-11-11
  • Js實現(xiàn)復選框的全選、全不選反選功能代碼實例

    Js實現(xiàn)復選框的全選、全不選反選功能代碼實例

    這篇文章主要介紹了Js實現(xiàn)復選框的全選、全不選和反選,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Iframe 自適應高度并實時監(jiān)控高度變化的js代碼

    Iframe 自適應高度并實時監(jiān)控高度變化的js代碼

    不得不用到iframe,且被強烈要求不能讓它出現(xiàn)滾動條!嵌入的頁面肯定是高度不一的,頁面中也不能出現(xiàn)大片空白,所以也不能寫死高度!真是麻鬼煩啊!
    2009-10-10
  • JavaScript調(diào)試工具匯總

    JavaScript調(diào)試工具匯總

    這篇文章主要介紹了7款基于桌面和WEB的JavaScript調(diào)試工具,更有效地處理動態(tài)類型使應用程序更符合編碼標準,不管你是新學習javascript的菜鳥還是業(yè)界大神,都非常的有用。
    2014-12-12

最新評論