рдЬрд┐рди рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдХреНрд░реЙрдХрдлреЛрд░реНрдб рдХреЛ рдХрднреА рдирд╣реАрдВ рд╕рдордЭрд╛ рдкрд╛рдпрд╛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдХреЗрд╕ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдПред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдпрд╣ рдареАрдХ рд╣реИ:
рд╕реНрд╡рд┐рдЪ (рдлреВ) {
рдорд╛рдорд▓рд╛ рдПрдХ:
рдорд╛рдорд▓рд╛ 2:
рдХреБрдЫ рдХрд░реЛ();
}
рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рд╣реИ:
рд╕реНрд╡рд┐рдЪ (рдлреВ) {
рдорд╛рдорд▓рд╛ рдПрдХ:
рдбреВрд╕рдордерд┐рдВрдЧрдлрд░реНрд╕реНрдЯ ();
рдорд╛рдорд▓рд╛ 2:
рдХреБрдЫ рдХрд░реЛ();
}
JSLint рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реИрдХ рдХрд┐рдпрд╛ рдерд╛, рдореИрдВрдиреЗ рдПрдХ рдЯрд┐рдкреНрдкрдгреА /_falls through_/ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рдВрдЪ рдХреА рдереА рдХрд┐ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрд┐рд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ:
рд╕реНрд╡рд┐рдЪ (рдлреВ) {
рдорд╛рдорд▓рд╛ рдПрдХ:
рдбреВрд╕рдордерд┐рдВрдЧрдлрд░реНрд╕реНрдЯ ();
/_рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрд┐рд░рддрд╛ рд╣реИ_/
рдорд╛рдорд▓рд╛ 2:
рдХреБрдЫ рдХрд░реЛ();
}
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЬреЗрдПрд╕рд╣рд┐рдВрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬреЗрдПрд╕рд▓рд┐рдВрдЯ рдореЗрдВ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рджрд░реНрдж рд░рд╣рд╛ рд╣реИред
рд╕рд╛рде рд╣реА, #11 рд╕реЗ тАФ JSHint рдХреЗ рдкрд╛рд╕ рд╕рдВрднрд╡рддрдГ default
рдЧрд┐рд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЪреВрдВрдХрд┐ рдЕрдХреНрд╕рд░ рдХреЗрд╕ рдлреЙрд▓ рдереНрд░реВ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЧрд┐рд░рдирд╛ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╣реИред
рд╕реНрд╡рд┐рдЪ (рдлреВ) { рдорд╛рдорд▓рд╛ рдПрдХ: рдбреЙрд╕реНрдорде (); /* рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрд┐рд░рддрд╛ рд╣реИ */ рдорд╛рдорд▓рд╛ 2: рдбреЙрд╕реНрдорде (); }
рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛: 4a72da1.
рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдзрдиреНрдпрд╡рд╛рдж!
IIRC, рдХреНрд░реЙрдХрдлреЛрд░реНрдб рдиреЗ рдЕрдкрдиреА рдкреБрд╕реНрддрдХ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреЗрд╕ рдлреЙрд▓-рдереНрд░реВ рдХреЛ рдирд╛рдкрд╕рдВрдж рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИред рдХрд╣рд╛рдиреА рдордиреЛрд░рдВрдЬрдХ рднреА рд╣реИ рдФрд░ рдХреБрдЫ рд╣рдж рддрдХ рдХрдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рднреАред
рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрдд рдореЗрдВ рдереНрд░реЛ рдХреЗ рд╕рд╛рде case
s рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рдЕрднреА рднреА рдЪрд╛рд▓реВ рд╣реИред рдЖрдк /* falls through */
рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ, рдПрдиреЛрдЯреЗрд╢рди рдФрд░ рдЕрдЧрд▓реЗ рдорд╛рдорд▓реЗ рдХреЗ рдмреАрдЪ рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рд╕реЗ рдПрдиреЛрдЯреЗрд╢рди "рдкрд░реЗрд╢рд╛рди" рд╣реИ (рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА рддрдм рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреА рд╣реИ) рдорд╛рдорд▓рд╛ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдЯрд┐рдкреНрдкрдгреА рдХреНрдпреЛрдВ рд╣реИред
/* falls through */
рдХреЗ рдмрдЬрд╛рдп рдЯрд┐рдкреНрдкрдгреА break;
рдПрдХ рдЧреИрд░-рджрд╕реНрддрд╛рд╡реЗрдЬреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдбреЙрдХреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
/* falls through */
рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЬреЛрдбрд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред
рд╕реЗрдХреЗрдВрдбреЗрдбред рдХреГрдкрдпрд╛ рдбреЙрдХреНрд╕ рдореЗрдВ /*falls through*/
рдЬреЛрдбрд╝реЗрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП supprt рдЬреЛрдбрд╝реЗрдВ:
case 'none':
default:
рдЬрдмрдХрд┐ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ 'none'
рдорд╛рдорд▓рд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИ, рдпрд╣ рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдбреЙрдХреНрд╕ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП +1ред
рд░реБрдЪрд┐ рдХреЗ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдорд┐рд▓реА рд╣реИ рдЬрд╣рд╛рдВ "рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ" рдорд╛рдорд▓реЗ рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗ рдкрдврд╝реЗ рдЧрдП рд╡рд░реНрдЬрди рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ред рднреВрддрдкреВрд░реНрд╡:
function migrate( version, data ) {
switch( version ) {
case 1 :
data.new1 = data.old; // convert data from version 1 to version 2
delete data.old;
case 2 :
data.new2 = data.new1; // convert data from version 2 to version 3
delete data.new1;
}
return data; // return data in version 3 format
}
рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдорд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХреЛрдб рдХреЛ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд╡реАрдирддрдо рддрдХ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
.jshintrc
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреБрдВрдЬреА рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП:
"-W086": true, //allow fall-through
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
.jshintrc
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреБрдВрдЬреА рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП: