Rumah hujung hadapan web tutorial js JS trim去空格的最佳实践_javascript技巧

JS trim去空格的最佳实践_javascript技巧

May 16, 2016 pm 06:00 PM
trim

刚好上次有同学提出疑问。刚好可以自测一下。先来看看老道在《JavaScript 精粹》P33 写的吧。他对 String 对象扩展了一个 trim() 方法:

复制代码 代码如下:

Function.prototype.method = function(name, func) {
this.prototype[name] = func;
return this;
};

String.method('trim', function() {
return this.replace(/^\s+|\s+$/g, '');
});

熟悉吧,/^\s+|\s+$/g,这样的正则表达式。多少框架在用呢。比如 jQuery 的 trimLeft, trimRight:
复制代码 代码如下:

// Used for trimming whitespace
trimLeft = /^\s+/,
trimRight = /\s+$/,

这是最佳实践么?但我们框架使用的不是这种方法(暂且称为半正则方法)。上次在其他产品组在内部 PK 的时候,说过,为什么我们框架要用下面这样的方法来实现 trim(),而不是用上面的那种。
复制代码 代码如下:

trim: function(){
var str = this.str.replace(/^\s+/,'');
for(var i= str.length - 1; i >= 0; i--){
if(/\S/.test(str.charAt(i))){
str = str.substring(0,i+1);
break;
}
}
return str;
}

原因工友已经说了,因为正则的反向匹配比较慢。我对其性能进行了对比。综合速度和写法上来说,个人还是偏向于第一种写法。因为速度其实相差很少很少。从代码来说第二种比较晦涩并且并字节很多,这对于一个流量很高但需要用 trim() 很少的网站来说,第一种明显比较合适,看看下面的测试结果(自已测试,猛击这里):

trim

啊?原来不是半正则的方式最快啊?是的,其实很多高级浏览器中已经默认提供 trim() 了。速度就不用说了,100 倍?哈哈哈。最后,方案如下:

复制代码 代码如下:

if(!String.prototype.trim){
String.prototype.trim = function(){
return this.replace(/^\s+|\s+$/g, '');
}
}
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.

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)

Petua Praktikal: Cara menggunakan fungsi trim dalam PHP untuk memproses ruang Cina Petua Praktikal: Cara menggunakan fungsi trim dalam PHP untuk memproses ruang Cina Mar 27, 2024 am 11:27 AM

Dalam pengaturcaraan PHP, ruang sering ditemui semasa memproses rentetan, termasuk ruang Cina. Dalam perkembangan sebenar, kami sering menggunakan fungsi pemangkasan untuk mengalih keluar ruang pada kedua-dua hujung rentetan, tetapi pemprosesan ruang Cina agak rumit. Artikel ini akan memperkenalkan cara menggunakan fungsi pemangkasan dalam PHP untuk memproses ruang Cina dan menyediakan contoh kod khusus. Mula-mula, mari kita fahami jenis ruang Cina. Dalam bahasa Cina, ruang termasuk bukan sahaja ruang Inggeris biasa (ruang), tetapi juga beberapa ruang khas lain.

Panduan untuk menggunakan fungsi trim() dalam PHP Panduan untuk menggunakan fungsi trim() dalam PHP Feb 20, 2024 am 08:39 AM

Panduan untuk menggunakan fungsi trim() dalam PHP Fungsi trim() sangat biasa digunakan dalam PHP dan digunakan untuk mengalih keluar ruang atau aksara lain yang ditentukan pada permulaan dan penghujung rentetan. Artikel ini akan memperkenalkan penggunaan fungsi trim() secara terperinci dan memberikan contoh kod tertentu. 1. Sintaks fungsi Sintaks fungsi trim() adalah seperti berikut: trim(string$str,string$character_mask=""):string Fungsi ini menerima dua parameter,

Gunakan fungsi strings.Trim untuk mengalih keluar set aksara yang ditentukan dari permulaan dan penghujung rentetan Gunakan fungsi strings.Trim untuk mengalih keluar set aksara yang ditentukan dari permulaan dan penghujung rentetan Jul 24, 2023 pm 04:27 PM

Gunakan fungsi strings.Trim untuk mengalih keluar set aksara yang ditentukan pada permulaan dan akhir rentetan Dalam bahasa Go, fungsi strings.Trim ialah fungsi yang sangat praktikal yang boleh mengalih keluar set aksara yang ditentukan pada permulaan dan akhir sesuatu. rentetan, menjadikan rentetan lebih kemas dan piawai. Artikel ini akan memperkenalkan cara menggunakan rentetan. Fungsi memangkas dan menunjukkan beberapa contoh kod. Mula-mula, mari kita lihat prototaip rentetan. Fungsi Trim: funcTrim(sstring,cutsetstri

Apakah fungsi fungsi pemangkasan pemacu keadaan pepejal? Apakah fungsi fungsi pemangkasan pemacu keadaan pepejal? Nov 21, 2022 am 10:58 AM

Fungsi pemangkasan pemacu keadaan pepejal adalah terutamanya untuk mengoptimumkan pemacu keadaan pepejal, menyelesaikan masalah kelembapan dan jangka hayat SSD selepas digunakan, dan meningkatkan kecekapan SSD dengan menyediakan blok data untuk digunakan semula. Fungsi Trim ialah fungsi yang dimiliki oleh hampir semua pemacu keadaan pepejal SSD Ia adalah perintah ATA Apabila sistem mengesahkan bahawa SSD menyokong Trim dan memadam data, ia tidak memberitahu cakera keras arahan pemadaman dan hanya menggunakan Volume. Peta bit untuk mengingati bahawa data di sini telah dipadamkan. Ini membolehkan pemprosesan data lebih cepat.

Bagaimana untuk mendayakan dan melumpuhkan TRIM pada Windows 11 Bagaimana untuk mendayakan dan melumpuhkan TRIM pada Windows 11 Sep 29, 2023 pm 03:13 PM

Menggunakan pemacu SSD meninggalkan anda dengan kebimbangan berterusan kehilangan data anda dan tidak dapat memulihkannya. Walau bagaimanapun, Windows membolehkan anda mencapai prestasi optimum dengan melaksanakan arahan TRIM yang hanya menulis data yang diperlukan tanpa perlu mengurus blok data lama. Untuk melakukan ini, anda perlu memastikan SSD anda menyokong TRIM dan mendayakannya dalam sistem pengendalian anda. Bagaimana untuk menyemak sama ada TRIM didayakan? Dalam kebanyakan kes, fungsi TRIM didayakan secara lalai dalam SSD moden. Tetapi untuk memastikan ini diperiksa, anda boleh menjalankan arahan dengan hak pentadbiran. Hanya buka gesaan arahan tinggi, jalankan pertanyaan tingkah laku fsutil perintah DisableDeleteNotify dan SSD anda akan disenaraikan. 0 bermakna didayakan, 1 bermakna dilumpuhkan. suka

Gunakan fungsi PHP 'trim' untuk mengalih keluar aksara ruang putih pada kedua-dua hujung rentetan Gunakan fungsi PHP 'trim' untuk mengalih keluar aksara ruang putih pada kedua-dua hujung rentetan Jul 25, 2023 pm 04:45 PM

Fungsi PHP "trim" ialah fungsi pemprosesan rentetan yang sangat berguna. Ia boleh membantu kami mengalih keluar aksara ruang putih di kedua-dua hujung rentetan, termasuk ruang, tab, baris baharu, dsb. Semasa menulis program PHP, kami sering menghadapi situasi di mana input pengguna perlu dibersihkan Pada masa ini, menggunakan "trim" boleh memastikan bahawa kami mendapat rentetan yang bersih dan mengelakkan ralat yang disebabkan oleh input pengguna yang tidak teratur. Berikut ialah contoh kod ringkas yang menunjukkan cara menggunakan fungsi "trim": <?php

Tutorial PHP: Belajar menggunakan fungsi trim untuk mengalih keluar ruang bahasa Cina Tutorial PHP: Belajar menggunakan fungsi trim untuk mengalih keluar ruang bahasa Cina Mar 27, 2024 am 11:00 AM

Tutorial PHP: Belajar menggunakan fungsi pemangkasan untuk mengalih keluar ruang bahasa Cina, anda memerlukan contoh kod khusus Dalam pembangunan PHP, anda sering menghadapi situasi di mana anda perlu memproses rentetan, dan salah satu keperluan biasa ialah mengalih keluar ruang di kedua-dua hujung. tali. Semasa memproses rentetan bahasa Inggeris, kami boleh terus menggunakan fungsi pemangkasan terbina dalam PHP untuk mencapai operasi ini. Walau bagaimanapun, apabila rentetan mengandungi aksara Cina, fungsi pemangkasan mungkin tidak dapat mengalih keluar ruang bahasa Cina seperti biasa kaedah yang diperlukan untuk mencapai keperluan kita. Artikel ini akan memperkenalkan

Cara menggunakan trim di Jawa Cara menggunakan trim di Jawa May 02, 2023 pm 01:31 PM

1. Jelaskan bahawa trim() ialah kaedah yang paling biasa digunakan oleh pembangun Java untuk mengalih keluar ruang hadapan dan belakang. Untuk kaedah trim(), aksara ruang ialah sebarang aksara dengan nilai ASCII kurang daripada atau sama dengan 32('U+0020')*. Kaedah trim() mengembalikan salinan objek rentetan panggilan, tetapi dengan semua permulaan dan penghujung dialih keluar. 2. Contoh publicclassFunTester{publicstaticvoidmain(String[]args){Stringstring="onetwothree";System.out.prin

See all articles