Задать вопрос
@dimentimor

JavaScript. Разница в скорости выполнения и потребляемой памяти?

Здравствуйте!

Какой метод отработает быстрее, и есть ли разница по потребляемой памяти?
Имеет ли смысл переводить большие данные в локальную область видимости перед многократным использованием? Т.е. есть ли разница, обращение к свойству объекта self, или к локальной переменной?

function User(name) {

	var self = this;
	self.name = name;

	self.say = function () {

		for (var i = 0; i < 100; i++) {
			console.log('My name is ' + self.name);
		}
	};
}


function User(name) {
	
	var self = this;
	self.name = name;

	self.say = function () {
		var name = self.name;

		for (var i = 0; i < 100; i++) {
			console.log('My name is ' + name);
		}
	};
}
  • Вопрос задан
  • 234 просмотра
Подписаться 3 Оценить 2 комментария
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Если конструктор User будет вызываться более одного раза, то однозначно и производительнее и оптимальнее по памяти будет так:
function User(name) {
  this.name = name;
}
User.prototype.say = function say() {
  for (var i = 0; i < 100; i++) {
    console.log('My name is ' + this.name);
  }
};
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
evgeniy8705
@evgeniy8705
Повелитель вселенной
Для браузера с большей вероятностью это будет один и тот же код. "Сам" проведет внутреннюю оптимизацию
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы