IE78不支持属性的解决方案

在ie 78浏览器中,如果用于删除空间的装饰()属性,它将导致报告错误。

因此,这个问题的解决办法如下:

js有12种删除空间的方法。

实现1
string.prototype.trim =函数(){ return this.replace( / ^ 的 * /,' ')。更换( / / * $,' ');}
实现2
string.prototype.trim =函数(){ return this.replace( / ^ + /,' ')。更换( / + $ /,' ');}
实现3
string.prototype.trim =函数(){ return这样的字符串(math.max(this.search( / /),0),this.search( / / * $)+ 1);}
实现4
string.prototype.trim =函数(){ return this.replace( / ^ + | + $ / g,' ');}
string.prototype.trim =功能(VAR){ str =本;STR = str.match( / +( 的+ +);返回str str { 0 } * /):;}
string.prototype.trim =函数(){ return this.replace( / ^ *(*( S + S +)*) * $ /,1美元)};}
实现7
string.prototype.trim =函数(){ return this.replace( / ^ *(*(: S + S +)*) * $ /,1美元)};}
string.prototype.trim =函数(){ return this.replace( / ^ *(((::{ 的 } * S)) * $ /,1美元)};}
string.prototype.trim =函数(){ return this.replace( / ^ *({ }的 * *)$ /,1美元)};}
string.prototype.trim =功能(VAR){ str =,=空白◎◎◎R T F x0b xA0 ;为(var i = 0,len = str.length;i = 0;我--){ if(whitespace.indexof(str.charat(I))= = = 1){ STR str.s =字符串(0,i + 1);断裂;} }返回whitespace.indexof(str.charat(0):STR)- 1 = '';}
实现11
string.prototype.trim =功能(VAR){ str =,= str.replace STR( / ^ + );为(var i = str.length - 1;我> = 0;我--){ if( / /。试验(str.charat(I))str.s(字符串){ str = 0,I + 1);} }中断返回;STR;}
实现12
string.prototype.trim =函数(){ var str =,= str.replace STR( / ^ 的 * /,`)),WS = / /,我= str.length;和((0)+(1);}

看起来不像。它使用了两个正则替换,和实际的速度是非常惊人的,主要是由于浏览器的内部优化。字符串拼接的一个著名的例子,直接加入了阵列比StringBr更快,实现由二类库的使用。

它是实现1非常相似,但慢一点,主要的原因是,它是假设至少有一个空白character.prototype.js第一个使用这个实现,但它的名字是条状的,因为原型的方法都想得到相同的名称作为R Y.

共有四个本地方法是截断得到的空白部分调用(当然,中间有一个缺口),设计巧妙,和字符串需要两个数字作为一个parameter.math.max是一个有两个数的参数,和搜索返回一个数字的速度比前两慢,但速度比最下面的。



实现5

比赛是返回一个数组,所以原始字符串部分符合要求的元素,成为其元。为了防止坯料被排除在绳子中间,我们需要使用非捕获分组(::口)。由于数组是空的,我们有在后作出进一步的决定。似乎在处理组浏览器弱和慢字。所以不要迷信规则,虽然它基本上是通用的。

实现6

提供所需的部分放在一个空字符串。但效率很差,特别是在IE6。

它类似于实现6,但由于非捕获包的优点,性能效率稍有改善。

实现8

在上面两个改进,采用非捕获分组和字符集,取而代之的是一个惊人的效果,尤其是在IE6,你可以用疯狂来形容的推广性能,直接秒杀火狐。

实现9

这一次是用懒惰的匹配替换了非捕获组,在Firefox中改进了IE IE上次没有那么疯狂。

实现10

我只想说,行这事的人不是牛,而是一个神一样的水平。首先列出所有可能的空白,切断先序遍历前面的空白,并把背面空白的第二次。整个过程仅用于返回的字符串,一个本地方法专门用于处理字符串,而不是作为常规,以惊人的速度,估计实现内部二进制差不多,并在伊江和火狐浏览器(其他浏览器当然毫无疑问)具有良好的性能,速度是零毫秒。

实施10告诉我们常见的原生字符串截取远比定期更换,虽然它有一点复杂,但只要规律不太复杂,我们可以使用浏览器来优化正则化来提高程序的执行效率,如实现8,我不认为任何人会用实施10在项目中,因为空格实现太难记。(当然,如果你要建一个类库,那是第一件事)。11是改进版的空白,前面部分由常规的替换来负责切割,使用原方法后面的处理,效果并不差于原来,但是速度非常的快。

10实现并实现了11个更好的关于改进版本的措辞,注意到没有性能和使用速度,但容易记住。它的两个前辈是零毫秒,然后工作和恐慌。