Pull to refresh

Comments 3

Тот момент, когда опять придется переписывать свой код.
UFO just landed and posted this here
По поводу 1 пункта, очень часто вложенные функции из функции не получится вынести (хотя бы даже чтобы глобал скоп не засорять кучей ненужных функций)
Можно сделать проще и воспользоваться тем фактом, что функция это объект, у объекта могут быть «приватные методы» и собственно и вернуть экземпляр объекта с уже созданными единожды функциями trimStart и trimEnd. Эффект будет тот же:

var trim = function() {
	function trimStart(string) {
		return string.replace(/^\s+/g, "");
	}
	function trimEnd(string) {
		return string.replace(/\s+$/g, "");
	}
	return function (string) {
		return trimEnd(trimStart(string))
	}
}();


Оригинал:
trim1: 138.231ms

Вынесли функции:
trim2: 102.128ms

Вернули объект:
trim3: 101.680ms

В firefox кстати результат для всех 3 случаев примерно ± одинаков
Sign up to leave a comment.

Articles