Рассмотрим этот код:
Test = function() {
}
t = new Test();
for (var i = 0; i < 8; i++) {
result = t instanceof Test;
}
Если вы измените количество итераций с 8 на 9, цикл будет в конце концов превышать в 100 раз больше версии Firefox (41.0.1). Я тестировал это на двух разных компьютерах, а магический предел всегда 8.
Вот тест JSPerf, который я использовал: http://jsperf.com/instanceof-8-times-vs-9-times
Кто-нибудь может понять, почему это может произойти? Это похоже на экземпляр. Это не происходит, если вы делаете что-то еще с объектом, например, проверяете свойство.
Примечание. Я также написал ошибку Bugzilla об этом.