2016-10-30 5 views
3

Есть ли разница между jquery trim и native js one?
Есть ли другое поведение, безопасность, производительность?jquery.trim по сравнению с string.trim

Благодарим вас, Peter.

+0

Почему не заглядывать [источник] (http://james.padolsey.com/jquery/#v=git&fn=jQuery. отделка)? – Teemu

ответ

3

JavaScript .trim() был определен в ES 5.1 и не будет работать для IE <. Поэтому, если вы уже используете JQuery, вы можете использовать менее производительный $.trim()


$.trim() Метод JQuery в делает:

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

где rtrim в основном это регулярное выражение

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

и whitespace представлена ​​в виде этой группы:

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


В JavaScript (ES6) это определяется как:

21.1.3.25 String.prototype.trim()

Эта функция интерпретирует значение Строка в виде последовательности UTF-16 закодированных кодом пунктов, как описано в 6.1.4.

Выполнение следующих шагов: Позволяет O быть требованием к объекту (это значение). Пусть S - ToString (O). ReturnIfAbrupt (S). Пусть T - значение String, которое является копией S с удаленным пробелом в начале и конце. Определение белого пространства - это объединение WhiteSpace и LineTerminator. При определении того, является ли кодовая точка Юникода в общей категории Unicode «Zs», последовательности кода кода интерпретируются как кодированные последовательности кодов UTF-16, как указано в 6.1.4. Возврат T. ПРИМЕЧАНИЕ Функция триммера намеренно является общей; он не требует, чтобы это значение было объектом String. Поэтому он может быть передан другим типам объектов для использования в качестве метода.

Так не говоря уже о реализации JS-х .trim() для разработчиков браузеров, точка совершенно ясно:
Удалить любое представление новых строк или пробелов с начала и конца строки.

0

метод String.trim

Триммер() удаляет пробелы с обеих сторон строки.

Примечание. Метод trim() не меняет исходную строку.

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

jquery.trim()

в $.Функция trim() удаляет все новые строки, пробелы (включая неразрывные пробелы) и вкладки с начала и конца строки.

Если эти пробельные символы встречаются в середине строки, они сохраняются

 Смежные вопросы

  • Нет связанных вопросов^_^