Rumah hujung hadapan web tutorial js 通过正则格式化url查询字符串实现代码_javascript技巧

通过正则格式化url查询字符串实现代码_javascript技巧

May 16, 2016 pm 05:44 PM
format biasa

看到项目里通过js数组split方法格式化查询字符串的,突发奇想为什么不能用正则呢,性能如何?于是便有了如下代码:

复制代码 代码如下:

var url='www.baidu.com?a=123&b=456&c=789&e=dfsdfsdfsdfsdfsdfsdf&f=46545454545454785&g=e23232dsfvdfvdf';
/**
* 格式化查询字符串(正则实现)
* @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;
}
/**
* 格式化查询字符串(数组实现)
* @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;iitem=items[i].split("=");
args[decodeURIComponent(item[0])]=decodeURIComponent(item[1]);
}
return args;
}
var startTime=new Date();
for(var i=0;iformatUrl2(url);
}
console.log('formatUrl2',(new Date()-startTime)); //formatUrl2 12138
startTime=new Date();
for(var i=0;iformatUrl(url);
}
console.log('formatUrl',(new Date()-startTime)); //formatUrl 12537

测试浏览器是chrme 25;正则实现的函数居然比数组实现的函数要慢(泪奔....)。不过还好,在重复执行一百万次的情况下只慢0.4秒
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk memformat pemacu c menggunakan arahan dos Bagaimana untuk memformat pemacu c menggunakan arahan dos Feb 19, 2024 pm 04:23 PM

Arahan DOS ialah alat baris arahan yang digunakan dalam sistem pengendalian Windows, yang boleh digunakan untuk melaksanakan pelbagai tugas dan operasi pengurusan sistem. Salah satu tugas biasa ialah memformat cakera keras, termasuk pemacu C. Memformat pemacu C adalah operasi yang agak berbahaya kerana ia akan memadamkan semua data pada pemacu C dan memulakan semula sistem fail. Sebelum melakukan operasi ini, pastikan anda telah menyandarkan fail penting dan mempunyai pemahaman yang jelas tentang kesan pemformatan pada komputer anda. Berikut diformatkan dalam baris arahan DOS

Mengapa pemacu D tidak boleh diformatkan? Mengapa pemacu D tidak boleh diformatkan? Aug 30, 2023 pm 02:39 PM

Sebab mengapa pemacu D tidak boleh diformatkan termasuk pemacu sedang digunakan oleh program atau proses lain, terdapat sistem fail yang rosak pada pemacu, kegagalan cakera keras dan isu kebenaran. Pengenalan terperinci: 1. Sebab mengapa pemacu D tidak boleh diformatkan mungkin kerana pemacu sedang digunakan oleh program atau proses lain Dalam sistem pengendalian Windows, jika program mengakses fail atau folder pada pemacu D, sistem tidak akan dapat melakukan operasi format ; 2. Sebab mengapa pemacu D tidak boleh diformat mungkin kerana terdapat sistem fail yang rosak Sistem fail digunakan oleh sistem pengendalian untuk mengatur dan mengurus fail folder pada peranti storan, dsb.

Apakah pemformatan cakera Apakah pemformatan cakera Aug 17, 2023 pm 04:02 PM

Pemformatan cakera merujuk kepada proses membina semula dan mengosongkan sistem fail cakera Semasa proses pemformatan cakera, semua data akan dipadam sepenuhnya, dan sistem fail akan diwujudkan semula untuk menyimpan semula data pada cakera. Pemformatan cakera boleh digunakan untuk melindungi keselamatan data, membaiki kegagalan cakera dan membuang virus Semasa memformat cakera, anda perlu membuat sandaran data penting, memilih sistem fail yang sesuai dan menunggu dengan sabar untuk pemformatan selesai.

Kaedah untuk meningkatkan prestasi penghuraian pemformatan masa dan tarikh Java Kaedah untuk meningkatkan prestasi penghuraian pemformatan masa dan tarikh Java Jul 01, 2023 am 08:07 AM

Cara mengoptimumkan prestasi pemformatan dan penghuraian masa dan tarikh dalam pembangunan Java Ringkasan: Dalam pembangunan Java, pemformatan dan penghuraian masa dan tarikh adalah operasi biasa Walau bagaimanapun, disebabkan kerumitan dan kepelbagaian format masa dan tarikh serta jumlah data yang besar diproses, ia sering menjadi hambatan prestasi. Artikel ini akan memperkenalkan beberapa kaedah untuk mengoptimumkan prestasi penghuraian pemformatan masa dan tarikh dalam pembangunan Java, termasuk menggunakan cache, mengurangkan penciptaan objek, memilih API yang sesuai, dsb. 1. Pengenalan Pemformatan dan penghuraian masa dan tarikh adalah sangat biasa dalam pembangunan Java. Walau bagaimanapun, dalam aplikasi praktikal, sejak

Tutorial pemformatan komputer Tutorial pemformatan komputer Jan 08, 2024 am 08:21 AM

Banyak kali apabila menggunakan komputer, anda akan menghadapi terlalu banyak sampah, tetapi ramai pengguna masih tidak tahu cara memformat komputer. Ini adalah tutorial tentang pemformatan komputer untuk anda lihat. Cara memformat komputer: 1. Klik kanan "PC ini" pada desktop dan klik "Urus". 2. Klik "Storan" dalam "Pengurusan Komputer" untuk membuka "Pengurusan Cakera". 3. Pilih cakera keras yang anda ingin bersihkan, klik kanan dan pilih "Format". 4. Semak "Lakukan Format Pantas" dan klik "OK" untuk mula memformat.

Rahsia kaedah pemulihan format telefon bimbit (telefon mudah alih rosak? Jangan risau) Rahsia kaedah pemulihan format telefon bimbit (telefon mudah alih rosak? Jangan risau) May 04, 2024 pm 06:01 PM

Pada masa kini, kita pasti akan menghadapi beberapa masalah seperti tidak dapat menghidupkan telefon, ketinggalan, dan lain-lain, seperti ranap sistem, tetapi semasa penggunaan, telefon bimbit telah menjadi bahagian yang sangat diperlukan dalam kehidupan kita. Kami sering mengalami kerugian, dan kadangkala, tiada penyelesaian untuk masalah ini. Untuk membantu anda menyelesaikan masalah telefon bimbit, artikel ini akan memperkenalkan anda kepada beberapa kaedah pemulihan format telefon bimbit dan memulihkan telefon anda kepada operasi biasa. Sandarkan data - lindungi maklumat penting, seperti foto dan kenalan, daripada hilang semasa proses pemformatan Sebelum memformat telefon anda, perkara pertama yang perlu dipertimbangkan ialah menyandarkan data dan fail penting pada telefon anda. Untuk memastikan keselamatan data, atau memilih untuk memindahkan fail ke perkhidmatan storan awan, anda boleh menyandarkannya dengan menyambung ke komputer. Gunakan fungsi pemulihan terbina dalam sistem - mudah

Adakah memformat komputer riba akan menjadikannya lebih pantas? Adakah memformat komputer riba akan menjadikannya lebih pantas? Feb 12, 2024 pm 11:54 PM

Adakah memformat komputer riba akan menjadikannya lebih pantas? Jika anda ingin memformat komputer riba Windows anda tetapi ingin mengetahui sama ada ia akan menjadikannya lebih pantas, artikel ini akan membantu anda mengetahui jawapan yang betul untuk soalan ini. Adakah memformat komputer riba akan menjadikannya lebih pantas? Terdapat banyak sebab mengapa pengguna memformat komputer riba Windows mereka. Tetapi sebab yang paling biasa ialah prestasi yang perlahan atau kelajuan komputer riba anda. Memformat komputer riba akan memadam sepenuhnya semua data yang disimpan pada pemacu C atau partition cakera keras tempat sistem pengendalian Windows dipasang. Oleh itu, setiap pengguna akan berfikir dua kali sebelum mengambil langkah ini, terutamanya mengenai prestasi komputer riba. Artikel ini akan membantu anda memahami sama ada memformat komputer riba anda akan mempercepatkannya. Memformat komputer riba anda membantu

Gunakan fungsi fmt.Sprint untuk memformat berbilang nilai ke dalam rentetan dan mengembalikannya, termasuk maklumat jenis Gunakan fungsi fmt.Sprint untuk memformat berbilang nilai ke dalam rentetan dan mengembalikannya, termasuk maklumat jenis Jul 25, 2023 am 09:01 AM

Gunakan fungsi fmt.Sprint untuk memformat berbilang nilai ke dalam rentetan dan mengembalikannya, termasuk maklumat jenis Dalam bahasa Go, pakej fmt menyediakan banyak fungsi untuk memformat data ke dalam rentetan. Antaranya, fungsi fmt.Sprint boleh memformat berbilang nilai ke dalam rentetan dan mengembalikannya. Tidak seperti fungsi fmt.Sprintf, fungsi fmt.Sprint mengembalikan rentetan dan bukannya rentetan yang diformatkan. Berikut ialah contoh kod mudah menggunakan fungsi fmt.Sprint: pa

See all articles