JS trim去空格的最佳实践_javascript技巧
刚好上次有同学提出疑问。刚好可以自测一下。先来看看老道在《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() 了。速度就不用说了,100 倍?哈哈哈。最后,方案如下:
if(!String.prototype.trim){
String.prototype.trim = function(){
return this.replace(/^\s+|\s+$/g, '');
}
}

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在PHP编程中,处理字符串时经常会遇到空格的问题,这其中包括中文空格。在实际开发中,我们常常会使用trim函数来去除字符串两端的空格,但是对于中文空格的处理相对复杂一些。本文将介绍如何利用PHP中的trim函数来处理中文空格,并提供具体的代码示例。首先,让我们了解一下中文空格的种类。在中文中,空格不仅包括常见的英文空格(space),还存在其他一些特殊的空格

PHP中trim()函数的使用指南trim()函数在PHP中非常常用,用于去除字符串开头和结尾的空格或其他指定字符。本文将详细介绍trim()函数的使用方法,并提供具体的代码示例。一、函数语法trim()函数的语法如下:trim(string$str,string$character_mask=""):string该函数接受两个参数,

固态硬盘的trim功能主要是优化固态硬盘,解决SSD使用后的降速与寿命的问题,通过准备数据块进行重用来提高SSD效率的功能。Trim功能是几乎所有SSD固态硬盘都具有的功能,是一个ATA指令,当系统确认SSD支持Trim在删除数据时,不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。从而实现更加快速的数据处理。

使用strings.Trim函数去除字符串首尾的指定字符集在Go语言中,strings.Trim函数是一个非常实用的函数,可以去除字符串首尾指定字符集,让字符串更加整洁和规范。本文将介绍如何使用strings.Trim函数,以及展示一些代码示例。首先我们来看一下strings.Trim函数的原型:funcTrim(sstring,cutsetstri

使用SSD驱动器会让您一直担心丢失数据并且无法恢复数据。但是,Windows允许您通过执行仅写入必要数据的TRIM命令来实现最佳性能,而无需管理旧数据块。为此,您需要确保您的SSD支持TRIM并在您的操作系统中启用它。如何检查是否启用了TRIM?在大多数情况下,默认情况下,在现代SSD中启用TRIM功能。但为了确保这一点签出,您可以使用管理权限运行命令。只需打开提升的命令提示符,运行fsutil行为查询DisableDeleteNotify命令,您的SSD就会列出。0表示已启用,1表示已禁用。如

PHP函数"trim"是一种非常有用的字符串处理函数。它可以帮助我们去除字符串两端的空白字符,包括空格、制表符、换行符等等。在编写PHP程序时,我们经常会遇到需要清理用户输入的情况,这时候使用"trim"可以确保我们得到干净的字符串,避免因为用户输入不规范而引发错误。下面是一个简单的代码示例,展示了如何使用"trim"函数:<?php

PHP教程:学习使用trim函数去除中文空格,需要具体代码示例在PHP开发中,经常会遇到需要处理字符串的情况,而其中一个常见的需求就是去除字符串两端的空格。在处理英文字符串时,我们可以直接使用PHP内置的trim函数来实现这一操作,但是当字符串中包含中文字符时,trim函数可能并不能正常去除中文空格,这时就需要使用一些特殊处理方法来实现我们的需求。本文将介绍

1、说明trim()是Java开发人员最常用的删除前导和尾随空格的方法。对于trim()方法,空格字符是指*ASCII值小于或等于32('U+0020')*的任何字符。trim()方法返回调用字符串对象的一个副本,但是所有起始和结尾都被删掉了。2、实例publicclassFunTester{publicstaticvoidmain(String[]args){Stringstring="onetwothree";System.out.prin
