eruditecat
@eruditecat
Красноглазик

В каком случае выполняется меньше операций?

Во имя науки. Тут у нас возник неоднозначный вопрос.

if (typeof selector === 'string') {}
или
if (typeof selector == 'string') {}

Обратите внимание, что typeof selector всегда возвращает строку, и что сабж посвящён именно количеству операций, а не быстродействию. =)
  • Вопрос задан
  • 292 просмотра
Пригласить эксперта
Ответы на вопрос 3
coderisimo
@coderisimo Куратор тега JavaScript
Вы всегда можете сами оценить скорость выполнения того или иного куска кода :

var start = new Date().getTime();
 //ваш код
var end = new Date().getTime();
var time = end - start;
console.log(' How long : ' + time);
Ответ написан
Комментировать
IonDen
@IonDen
JavaScript developer. IonDen.com
https://jsfiddle.net/beaxe5np/1/
Скорость примерно одинакова в хроме.
Ответ написан
Комментировать
Deonisius
@Deonisius
Родился в 11110110111 году, 11000 января.
Добавлю к ответу coderisimo , что есть вариант "из коробки" для замеров (console.time() и console.timeEnd()) или профилирования (console.profile() и console.profileEnd()).
Пример по вашей теме:
var a = 'a',
b = 'b';
console.time("Test ==");
for(var i = 0; i < 1000; i++) {
	if(a == b){}
}
console.timeEnd("Test ==");

console.time("Test ===");
for(var i = 0; i < 1000; i++) {
	if(a === b){}
}
console.timeEnd("Test ===");
И кстати говоря, тот же JSLint, будет ругаться на обычное сравнение, но приветствовать тождественное.
Ответ написан
Ваш ответ на вопрос

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

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