2012-03-22 9 views
0

jsLintがエラーを報告していません。しかし、jsbin.comに投稿すると警告が表示されます。また、私が "Bad line break before" + "を検索すると、jsLintでこのオプションをオフにしようとしている人がいます。複数行文字列問題

スニペット:

var some_html = " " 
    + "<div>" 
    +  "<span></span>" 
    + "</div>"; 

は、文字列をこのように割り当てる/定義に問題はありませんか?何らかの理由で

var some_html = " " + 
    "<div>" + 
    "<span></span>" + 
    "</div>"; 

+0

なぜ非$ jQuery変数を '$' -prefixするのですか? – ThiefMaster

+0

@ThiefMasterそれはバグでした。これはもともとはPHPドキュメントからコピーされ、その後適合されました。修正しました。 – SystemicPlural

答えて

0

コードと間違って何もない、jsbin.comはちょうどそれはこのように書かされることを期待しています。私は警告を無視しています。

なお、+を拡張文字列と同じ行に書くことは、上記のようにJSLintでも受け入れられます。だから、あなたのコードが両方とも警告なしで渡されるようにしたいのであれば、そのようにすることに固執したいかもしれません。

JSLintはあなたが書いた方法を気にしないが、人々はそれについて書いているので、この警告を取り除くJSLintになる可能性がある(私はただ推測しているが)。

+0

コードに問題があります。それは働くことが保証されていません。 '+'を次の行に置くことによって、現在の行をJavaScriptインタプリタによってセミコロン挿入の対象にします。 1つのJavaScriptエンジンでは動作しますが、別のJavaScriptエンジンでは動作しません。 –

+0

@DominicMitchell、私はそれを認識していませんでした - この場合のサンプルブラウザ/ JavaScriptエンジンを提供できますか? –

+0

[EMCA仕様](http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf)(少なくとも5.1節)では、セミコロンが可能な場合の具体的な詳細が示されています自動的に挿入されます(7.9節)。私はこれが実装すべきではないと考えています。 –

0
var some_html = [ 
    '<div>', 
    '<span></span>', 
    '</div>' 
].join(''); 

これは、壊れた文字列を配列に配置し、デリミタなしで結合します。文字列を返します。私はこれが合格すると思う。