2013-06-18 5 views
6

JSLintはは.callのこの使用に問題があることを主張し、「予期しないが 『と呼ぶ』」と主張しています。とにかく、予期しない。私はなぜ私の人生のために、コードに何か問題があるのか​​理解できません。それはうまくいくようですが、予期しない動作が心配です。JSLintは

+0

'_constructTable'は(おそらくGridView.prototype''経由で)インスタンス上ですでに利用可能である場合、あなたは '.call'を使用する必要がありますなぜですか?あなたは 'this._constructTable(tableArray);を実行できません;'? –

+0

@James Allardice:私はそうではありません。私は主に今ほとんど '呼び出し'を試しています。 JSLintはコードが愚かであることを知るのに十分なほど賢明ですか? – Fenixp

+1

はい、そうです。 '_constructTable'の前から' this.'を削除するか、 'this'を' .call'の他のものに変更すると、JSLintはもはや警告しません。 –

答えて

10

警告の原因は次の行です:

this._constructTable.call(this, tableArray); 

この構築物は、大部分が無意味であるように思われる - あなたはそれは次のようになり、同じコンテキストになりthisの文脈で_constructTableメソッドを呼び出しています通常の呼び出し式で呼び出した場合に呼び出されます。 JSLintは、まさにそれを期待している:

this._constructTable(tableArray); 
関連する問題