Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Бред с циклами (https://javascript.ru/forum/dom-window/73142-bred-s-ciklami.html)

Wallenstein 24.03.2018 02:53

Бред с циклами
 
function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
var bbo = 1;
var shbb = 1;
bb.onclick = async function() {
	console.log(shbb);
	if (shbb=1) {
		console.log('while1');
		while(bbo>0){
			bbo-=0.05;
			bb.style.opacity = bbo;
			await sleep(1);
			if (bbo<=0) {
				bbo = 0;
				shbb = 0;
				bb.style.opacity = bbo;
				console.log('while1 - complete');
				break;
			}
		}
	}
	if (shbb=0) {
		console.log('while2');
		while(bbo<=1){
			bbo+=0.05;
			bb.style.opacity = bbo;
			await sleep(1);
			if (bbo>=1) {
				bbo = 1;
				shbb = 1;
				bb.style.opacity = bbo;
				console.log('while2 - complete');
				break;
			}
		}
	}
}

Консоль:
1
while1
while1 - complete
0
while1
0
while1
0
while1

Вопрос: почему не доходит до while2? Ведь только он удовлетворяет условиям.

Aetae 24.03.2018 03:42

shbb=1 - shbb==1
shbb=0 - shbb==0

j0hnik 24.03.2018 07:55

частая ошибка у новичков.

Aetae 24.03.2018 14:14

j0hnik,
И не только. Я вот давеча по надобности денёк покодил на мерзком vbscript, так весь следующий день матерился от непроизвольного использования = вместо ==. Хорошо что это быстро прошло.)

j0hnik 24.03.2018 14:27

в JS-е SublimeLinter позволяет не допускать подобных мелких косячков.

Aetae 24.03.2018 14:49

j0hnik,
Много всяких тулз не позволяют. Но руки то сами печатают, и править надо всё равно самому.)

laimas 24.03.2018 15:32

Цитата:

Сообщение от Aetae
покодил на мерзком vbscript

В чем мерзость?

Aetae 24.03.2018 16:00

laimas, во всём?
Это же субъективно. Из всех языков, которыми пользовался - только vbs мне действительно отвратителен. В других языках есть и приятные вещи и раздражающие, но ничего, что бы вызывало такие эмоции. Мне просто физически мерзко на нём писать, как будто в говне голыми руками копаюсь, простите.:-E

laimas 25.03.2018 12:39

Цитата:

Сообщение от Aetae
Это же субъективно. Из всех языков, которыми пользовался - только vbs мне действительно отвратителен.

Да ничего в нем отвратительного нет. :) Простой как валенок, но позволяет делать многое под систему.

Photoshop крутой, но и на Paint делают шедевры. А заморочиться можно на чем угодно, я тоже как то после Delphi написал := и тупо не мог понять на что ругается. )


Часовой пояс GMT +3, время: 20:21.