Błąd "unexpected ++" w jslint [duplikat]
To pytanie ma już odpowiedź tutaj:
Co na najlepsza praktyka w tym zakresie?
Jslint wyjaśnia, że "dodaje zamieszanie". Naprawdę tego nie widzę...
EDIT: kod, zgodnie z żądaniem:
var all,l,elements,e;
all = inElement.getElementsByTagName('*');
l = all.length;
elements = [];
for (e = 0; e < l; (e++))
{
if (findIn)
{
if (all[e].className.indexOf(className) > 0)
{
elements[elements.length] = all[e];
}
} else {
if (all[e].className === className)
{
elements[elements.length] = all[e];
}
}
}
8 answers
Użyj i += 1
zamiast tego, jeśli chcesz postępować zgodnie z radami jslinta.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-18 17:53:14
Po prostu dodaj /*jslint plusplus: true */
przed swoim plikiem javascript.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-18 11:17:59
Aby uniknąć nieporozumień i ewentualnych problemów podczas korzystania z minifigurek, zawsze owijaj nawiasy wokół operatora i jego operandu, gdy są używane razem z tym samym (+ lub -).
var i = 0, j = 0;
alert(i++ +j);
To dodaje i I j (i zwiększa i jako efekt uboczny), powodując alarmowanie 0.
Ale co to jest ktoś przychodzi i przesuwa przestrzeń?
var i = 0, j = 0;
alert(i+ ++j);
Teraz to najpierw zwiększa j, a następnie dodaje i do nowej wartości j, w wyniku czego 1 jest alarmowany.
To może być łatwo rozwiązane przez doing
var i = 0, j = 0;
alert((i++) +j);
Nie można tego pomylić.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-08 19:01:52
Osobiście wolę umieszczać wypowiedzi takie jak i++
na linijce same. Włączenie ich jako części większego oświadczenia może powodować zamieszanie dla tych, którzy nie są pewni, co linia powinna robić.
Na przykład zamiast:
value = func(i++ * 3);
Zrobiłbym to:
value = func(i * 3);
i++;
Oznacza to również, że ludzie nie muszą pamiętać, jak działają i++
i ++i
, i eliminuje potrzebę stosowania tak wielu zasad preferencji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-07 13:44:43
Prawdziwym problemem operatora ++
jest to, że jest on operatorem z efektami ubocznymi i dlatego jest całkowicie przeciwny zasadzie programowania funkcyjnego.
" functional " sposób implementacji i++
to i = i + 1
gdzie jawnie przypisujesz zmienną bez skutków ubocznych, a następnie jej używasz.
Możliwość pomyłki jest taka, że ++
robi dwie rzeczy, dodając wartość i przypisując ją do zmiennej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-18 17:49:52
Jslint friendly loop
for (i = 0; i < 10; i += 1) {
//Do somthing
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-16 22:33:44
Należy pamiętać, że operator ++ zależy od pozycji względem zmiennej prevent / next i średnika nowej linii, aby określić kolejność operacji.
var a = 1;
var b = a++;
console.log(b); // b = 1
console.log(a); // a = 2
var a = 1;
var b = ++a;
console.log(b); // b = 2
console.log(a); // a = 2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-01 16:27:05
Istnieje coś, co nazywa się pre-increment: ++i I post-increment i++ i jest różnica:
var i = 9;
alert(++i); //-> alerts 10
var j = 9;
alert(j++); //-> alerts 9
alert(j); //-> alerts 10 now, as expected
var k = 9;
alert((k++)); //-> still alerts 9 even with extra parentheses
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-18 17:50:39