Was ist der Unterschied zwischen Attribut und Eigenschaft? [geschlossen]

161

Diese scheinen dasselbe zu bedeuten. Aber welcher Begriff ist in welchem ​​Kontext angemessener?

ätzend
quelle
4
Können Sie den Kontext genauer beschreiben? Zum Beispiel bedeuten die Begriffe völlig unterschiedliche Dinge innerhalb eines C # -Kontexts.
David Arno
1
@ David Arno - verschiedene Sprachsyntaxen haben ein oder beide Wörter verwendet, aber unabhängig von der Syntax einer bestimmten Sprache, gibt es einen Unterschied in der Bedeutung? Das ist keine schlechte Frage.
Corey Trager
4
Ich denke es ist eine schlechte Frage. Eine Überprüfung eines Thesaurus zeigt, dass sie in realer Sprache synonym sind, aber verschiedene Computer- und Metasprachen ihnen möglicherweise ganz unterschiedliche Rollen zuweisen und daher möglicherweise nicht synonym für eine bestimmte Computersprache sind. Der Kontext ist also alles.
David Arno
9
Ich bin mehr ... sympathisch. Ich erinnere mich an das erste Mal, als ich den Begriff "Methode" hörte. Was zum Teufel ist eine "Methode"? Oh, das nennt man eine Funktion, wenn sie zu einer Klasse gehört. Warum neue Terminologie für etwas Altes? Thoreau sagte: "Vorsicht vor allen Unternehmen, die neue Kleidung benötigen." (oder Worte ...)
Corey Trager
1
Diese Frage ist zu weit gefasst, ohne einen Kontext anzugeben (wie geschrieben, kann sie nur mit einer Liste aller möglichen Kontexte beantwortet werden).
Quentin

Antworten:

198

Im Allgemeinen (und im normalen englischen Sprachgebrauch) bedeuten die Begriffe dasselbe.

Im spezifischen Kontext von HTML / Javascript werden die Begriffe verwirrt, da die HTML-Darstellung eines DOM-Elements Attribute aufweist (dies ist der Begriff, der in XML für die in einem Tag enthaltenen Schlüssel / Wert-Paare verwendet wird), diese Attribute jedoch, wenn sie als JavaScript-Objekt dargestellt werden werden als Objekteigenschaften angezeigt .

Um die Dinge weiter zu verwirren, werden bei Änderungen an den Eigenschaften normalerweise die Attribute aktualisiert.

Wenn Sie beispielsweise die element.href Eigenschaft ändern, wird das href Attribut für das Element aktualisiert , was sich in einem Aufruf von widerspiegelt element.getAttribute('href').

Wenn Sie diese Eigenschaft jedoch später lesen , wurde sie auf eine absolute URL normalisiert, obwohl das Attribut möglicherweise eine relative URL ist!

Alnitak
quelle
14
Dies sollte die akzeptierte Antwort sein!
Rubens Mariuzzo
3
@RubensMariuzzo, so genau es auch sein mag, hier gibt es keine Antwort. Es wird nur auf einen möglichen Punkt der Verwirrung für Menschen in einem bestimmten Kontext eingegangen.
Brett Caswell
@BrettCaswell, ich denke, in einem DOM-Kontext (HTML / JS) erklärt mir diese Antwort den Unterschied klar und einfach.
Rubens Mariuzzo
1
@Alnitak Klare Antwort. Ich habe ein Jahrhundert für dich gemacht.
mkHun
Ich komme aus python. Kann ich term class attributeund verwenden instance property?
Sarit