2015-10-15 6 views
0

Я нашел это на reddit, но я точно не понимаю, почему код плохой. Я читал, что он исчерпан процессор, но я не вижу бесконечный цикл происходит, так как я всегда инкрементируется и проверяется, является ли он меньше 10.Почему этот reddit-код максимизирует процессор?

var data = [0,1,2,3,4,5,6,7,8,9,0]; 
var opacity; 

for(var i=0; i<data.length && i<10; i++){ 
    opacity = .5; 
    if(i=0) 
    opacity = 1; 
} 

ответ

1

Переменная i продолжает переустановку в 0 из-за использования только один = знак, таким образом, вместо сравнения, это настройка значения:

if(i = 0) 
    //^Missing = in order to perform comparison. 
3

Посмотрите внимательно на то, что происходит в if(i=0).

+1

Это не дает ответа на этот вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. –

+0

@IswantoSan Этот ответ использует образовательный метод, проиллюстрированный здесь: https://xkcd.com/1028/ – Crashworks

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