Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialPeter Retvari
Full Stack JavaScript Techdegree Student 8,392 PointsDocument.write vs. Prompt method
Hi guys, I have a simple question. Why takes prompt method a higher priority for the browser and display it first even if I write document.write ('Hello World'); in the first line?
1 Answer
Karen Fletcher
19,189 PointsPrompt is a higher "priority" in a way than document.write() because prompt() is used if you want the user to input a value before entering a page. Even if you put document.write() as the first line of your code, prompt() will be rendered first by the javascript compiler engine because actions on the Window take precedence over actions on the document.
This Treehouse Community post from 2016 is along the same lines, and includes "That JavaScript acting on the Window will take precedence over the JavaScript acting on the rendering of the HTML or document object. So the JavaScipt acting on the document will be paused while the JavaScript acting on the Window is still fair game."
references: W3Schools, Treehouse Community post
Peter Retvari
Full Stack JavaScript Techdegree Student 8,392 PointsPeter Retvari
Full Stack JavaScript Techdegree Student 8,392 PointsThanks Karen, you helped a lot!
Steven Parker
231,248 PointsSteven Parker
231,248 Pointsthat old post contains a good deal of unrelated information and may be confusing.
Also, it's not so much a matter of "priority" or "precedence" as it is a matter of how the browser operates. The JavaScript statements themselves are all executed with the same priority.
The browser doesn't update the page until the program ends. So changes to the page (such as with "document.write) are not visible until then.
This is explained in the "Teacher's Notes" section of the Student Record Solution video.
Karen Fletcher
19,189 PointsKaren Fletcher
19,189 Points@Peter, happy to help!
@Steven, some of the information may be somewhat unrelated, but it also contains a really great discussion that helps provide further context, and shows people talking out a very similar issue and reaching a conclusion together. The teacher's notes you linked is a great concise answer.