2013-10-07 2 views
0

Почему JSLint complainig об этом синтаксисе:JSLint жалуется над оператором по математике "++" Синтаксис

var myint; 
myint = 0; 

myint++; 

www.jslint.com ответ:

Неожиданное '++'. myint ++;

+4

Если вы посмотрите на варианты, есть один для «допускать ++ и -». Вы его не должны терпеть. Это один из самых неожиданных вариантов, которые Крокфорд не любит. –

+0

Да, спасибо, я просто нашел этот вариант. – kstubs

ответ

3

JSLint не нравится ++, он хочет, чтобы вы использовали myint += 1. Это очень спорно, см Why avoid increment ("++") and decrement ("--") operators in JavaScript?

Там есть вариант, чтобы пропустить его, хотя (на веб-интерфейсе, это под «терпеть ...»).

От JSLint help:

++ (приращение) и -- (декремент) операторов, как известно, способствуют плохой код, поощряя чрезмерную trickiness. Они уступают только ошибочной архитектуре, позволяя вирусам и другим угрозам безопасности. Кроме того, путинская преднамеренность/постинкрементная ошибка могут приводить к ошибкам, которые очень трудно диагностировать. Существует опция plusplus, которая позволяет использовать эти операторы.

1

@ Ответ на bfavaretto верен. Если вы хотите, чтобы это (при условии, что вы используете не-веб-версию), установите plusplus в true с этой директивой:

/*jslint plusplus: true */ 

Reference

2

аргументом Крокфорда против ++ и -- является то, что они являются " слишком жесткий, слишком хитрый, слишком загадочный »(стр. 112 Javascript: хорошие части). Ваш пробег может отличаться. Используйте их, если хотите, или если вы считаете, что они слишком запутывают и затрудняют читаемость, не делайте этого.

Вы можете отключить это правило в JSLint, если вы не купите аргумент Крокфорда.

+1

Какой-то поклонник Крокфорда допустил это, полагаю? – bfavaretto

+0

Думаю, да. И я даже не сказал, что согласен или не согласен с Крокфордом. –

+0

Я не понимаю, почему это вообще загадочно? это обычный оператор с одинаковым поведением на огромном количестве языков ... – Emissary

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