Die Beispiele in diesem Artikel dienen hauptsächlich dazu, Verständnis und Aufmerksamkeit für Javascript-Objekte zu wecken. Tatsächlich ist es eine Falle bei Vorstellungsgesprächen und wird in tatsächlichen Projekten selten verwendet. Um die Wachsamkeit zu erhöhen, schauen wir uns jedoch dieses Beispiel an:
Codename
var first = {}; var second = {k:"second"}; var third = {k:"third"}; first[second] = 100; first[third] = 200; console.log(first[second])//这里会输出什么内容呢?
Wenn Sie diese Frage selbst beantworten möchten, lesen Sie die Erklärung unten nicht.
Was für Ergebnisse werden hier ausgegeben? Die meisten Leute denken vielleicht, dass das Ergebnis 100 ist, dass die Frage einen Fehler enthält oder dass das Ergebnis 200 ist.
Tatsächlich ist das Endergebnis 200.
Warum? Da Second und Third beide Objekte sind und beide [Objektobjekt] sind, ist First[Second] äquivalent zu First[[Object Object]] und First[Third] zu first[[object object]] Das Endergebnis kann also first["[object object]"] sein. Im Beispiel wird dieser Ausdruck zweimal zugewiesen, sodass das Endergebnis 200 ist.
In JavaScript gibt es also viele Details, auf die wir achten müssen. Vielleicht wissen diese Interviewer nicht, welche Interviewfragen sie stellen sollen, also stellen sie einfach diese Fragen im Fallenstil. Wir müssen jedoch nur ein solides Fundament legen und vor nichts Angst haben. Ich werde auch in Zukunft einige Fragen zur Erklärung stellen!
Durch ein einfaches Beispiel hat es alle zum Nachdenken angeregt und jedem viel Inspiration gegeben, Javascript-Objekte zu lernen. Ich hoffe, dass jeder etwas gewinnen wird.