jquery.trim与string.trim相比

时间:2016-10-30 12:40:04

标签: javascript jquery trim

jQuery trim和原生JavaScript之间有什么区别吗?

还有其他行为,安全,表现吗?

2 个答案:

答案 0 :(得分:6)

JavaScript .trim()在ES 5.1中定义,并且不适用于IE< 9 。因此,如果您已经使用了jQuery,则可以使用性能较低的$.trim()

jQuery&#39> <{strong> $.trim()方法:

trim: function( text ) {
    return text == null ? "" : ( text + "" ).replace( rtrim, "" );
}

其中rtrim基本上就是这个RegExp

new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" )

whitespace表示为此组:

"[\\x20\\t\\r\\n\\f]"

<小时/> 在JavaScript (ES6)中,它定义为:

  

21.1.3.25 String.prototype.trim()

     

此函数将String值解释为UTF-16编码的代码点序列,如6.1.4中所述。

     

采取以下步骤:   设O为RequireObjectCoercible(此值)。   设S为ToString(O)。   ReturnIfAbrupt(S)。   设T是一个String值,它是S的副本,同时删除了前导和尾随空格。白色空间的定义是WhiteSpace和LineTerminator的结合。在确定Unicode代码点是否在Unicode通用类别“Zs”中时,代码单元序列被解释为6.1.4中规定的UTF-16编码的代码点序列。   回归T.   注意修剪功能是有意通用的;它不要求它的这个值是一个String对象。因此,它可以转移到其他类型的对象用作方法。

因此,更不用说向浏览器供应商实施JS .trim()了,重点非常明确:
从字符串的开头和结尾删除任何换行符或空格的表示。

答案 1 :(得分:1)

<强> String.trim

trim()方法从字符串的两边删除空格。

注意:trim()方法不会更改原始字符串。

var str = "       Hello World!        ";
alert(str.trim());

<强> jquery.trim()

$ .trim()函数从提供的字符串的开头和结尾删除所有换行符,空格(包括不间断空格)和制表符。

如果这些空格字符出现在字符串的中间,则会保留它们