JetBrains hat einen alten Blogbeitrag über JSDoc Annotationen, der erklärt, wie man die IDE der variablen Typen http://blog.jetbrains.com/webide/2012/10/validating-javascript-code-with-jsdoc-types-annotations/ informiert.Wie kann ich den Typ des "This" -Wertes für eine Schließung in JetBrains IDEs angeben?
Ich kann immer noch nicht scheinen, einen Weg zu finden, der IDE zu sagen, dass der "dieser" Wert in vielen jQuery-Rückrufen HTMLElements ist. Zum Beispiel:
/**
* Enable input
* @returns {SomeConstructor}
*/
SomeConstructor.prototype.enableInput = function(){
this.$markup.find('input').each(function(){
this.disabled = false;
});
return this;
};
Das obige Beispiel wird immer noch eine Warnung in dem IDE produzieren - „Potenziell ungültige Verwendung dieses“.
Wie kann ich angeben, dass "dies" auf ein HTMLElement-Objekt verweist?
EDIT:
Nach einem Blick durch die JSDoc Dokumentation fand ich die @this Anmerkung http://usejsdoc.org/tags-this.html. @this ermöglicht es Ihnen, einen "this" -Wert für eine ganze Funktion anzugeben, aber in dem veröffentlichten Beispiel wird die IDE denken, dass sie ein HTMLElement und nicht einen SomeConstructor zurückgibt.
Sie verwenden also phpstorm oder webstorm? – Justinas
Das beantwortet Ihre Frage nicht, aber ... die Signatur des Callbacks zu jQuerys Funktion ist effektiv 'Funktion (Ganzzahlindex, Elementelement)', wobei 'Element === dies 'ist, also könnten Sie vielleicht das deklarieren Argumente und kommentieren Sie den Typ des zweiten? –
Verwenden von PHPStorm, aber die Frage gilt für beide. Ja, das ist ein Ansatz @BenGriffiths, aber es gilt auch für Dinge wie $ (Element) .on ('click', function() {// irgendein Code}) sowie: /. – Robert