İsterseniz, kendinizi sınırsız Evil olarak ekleyebilirsiniz, bunu JSLint'e ekleyebilirsiniz.
ben alacağım rota /*
tarzı yorumlar için token
işlevin switch
blok ele geçirmektir:
Burada güncel sürümüyle biri hızlı ve kirli bir yoldur. İşte at line 1276 currently var: teknik true
yarım yerde bu durumda hat üzerinde olabilir rağmen (kendileri bir satırda /*ignore:true */
benziyor yorumlar için aramaya
case '/*':
for (;;) {
i = source_row.search(lx);
...
edelim değişim, /*ignore:false */
hat için olmasına rağmen kendi başına bir satırda olun, bu yüzden her ikisi için de geçerli gibi davranalım).
Örnek kötü, tiftik başarısız kod: Biz /*ignore:true */
bulursanız
function spam()
{
var sand = "sand";
/*ignore:true */
var spud = "spud";
/*ignore:false */
window.console.log(sand);
}
, çizgiden üzerine ilk karakter olarak /*ignore:...
ile /*ignore:false */
ile bulana kadar en satırları atlayalım. Kendi başına bir satırdaki yanlış ifadeye kadar, her şeyi reddediyoruz.
case '/*': // Opening /* has already been sliced. if (source_row.startsWith("ignore:true")) { do { if (console.log) { console.log(source_row) }; } while (next_line() && !source_row.trim().startsWith("/*ignore:false")); } else { // Put in the code that was originally there } break;
Bu çirkin, ancak çalışıyor gibi görünüyor.
Şimdi bu sorunlara neden olabilir. Eğer göz ardı edip sonra kullanmak bir bölümünde var
beyanı varsa Örneğin, JSLint_Hacked o myVar was used before it was defined.
Örnek şikayet:
/*jslint white:true, sloppy:true, browser:true */
function spam()
{
var sand = "spam";
/*ignore:true */
var spud = "spud";
/*ignore:false */
window.console.log(sand + spud);
}
Yani bu tür şeyler sarpa sarabilir. Ve bunu yalnızca herşeyi teneffüs etmeye zorlandığınız durumlarda kullanacağım, ama bir nedenden ötürü her dosyayı düzenleyebilme gücüne sahip değilsiniz. garip bir şekilde, bu durumda garip bir kod ile. Bu tüm ignore
şey waaay keyifsiz.
Gerçekten nasıl çalıştığını öğrenmek için JSLint'in içine daha fazla zaman harcamam gerekiyor, ancak next_line()
işlevi tahribatsız gibi görünüyor. Yani, (")" gerçek "/*jslint ignore:true */
stil yönergelerinde işlevinde işleyebilir (ancak yapmalısınız), ancak advance()
işlevini çağırdığınızda yan etkilerle ilgilenmeniz gerekir. Burada kullanıyorum hack çok daha kolay, ama aynı zamanda çok uglier.
ara bu [http://stackoverflow.com/questions/599859/jslint-control-comments-selective-ignore/13175495#13175495][1] [1]: http://stackoverflow.com/questions/599859/jslint-control-comments-selective-ignore/13175495#13175495 – napoleonss