1

「悪いエスケープメント」とは、スラッシュでエスケープする間違った使用を表すと思います。

JSLint がこの関数のメッセージを 3D 行 (for...) に表示するのはなぜですか?

  function splitTags(commaSeparated) {
    var tagArray = commaSeparated.split(','); 
    for (var i=(tagArray.length) - 1; i>=0; i = i - 1 ){
      tagArray[i] = f.trim(tagArray[i]);
    }    
    return tagArray;
  }
  f.splitTags=splitTags;

編集:「i--」を「i=i-1」に変更し、変更したバージョンを上記に投稿しました。

Lint は、最初のマイナス記号である文字 30 で文句を言います。

Edit2:この変更の後、もう文句はありません。動作する新しいバージョン:

  function splitTags(commaSeparated) {
    var tagArray = commaSeparated.split(',');
    var startWith = tagArray.length - 1; 
    for (var i=startWith; i>=0; i = i - 1 ){
      tagArray[i] = f.trim(tagArray[i]);
    }    
    return tagArray;
  }
  f.splitTags=splitTags;

変。私は実際に JSLint マルチを使用しています: http://ajaxian.com/archives/jslint-multi

したがって、これは解決されていませんが、回避策があります。しかし、本当の答えが得られればうれしいです。私はまだそのようなコード部分をたくさん持っています。

4

2 に答える 2

0

質問の編集に投稿した回避策から、JSLint multi はfor行のlengthキーワードがまったく好きではないことがわかります。

そこでは長さを使用せず、前の行で計算して変数を使用します。

JSLint multi が文句を言わないようにするルール。

于 2010-04-28T10:49:22.740 に答える
0

JSLintページから:

JSLint は、+ の後に + または ++ が続かないこと、および - の後に - または -- が続かないことを想定しています。間違ったスペースがあると、++ が ++ に変わる可能性があり、これはわかりにくいエラーです。混乱を避けるために括弧を使用してください。

于 2010-04-08T12:51:03.947 に答える