a variable as a reference to a function avoids naming conflicts in case that a JavaScript file contains multiple functions with similar names. The XmlHttpRequestObject variable of the createXmlHttpRequest function is created to hold the XmlHttpRequest object reference. Following the code, you will notice that we look for the XmlHttpRequest object and the XmlHttp object. Though InternetExplorer and the rest of the browser world support XmlHttprequest objects, its named differently in InternetExplorer. If the first condition typeof XMLHttpRequest != "undefined" succeeds then the client browser is Mozilla, Safaris or any non IE browser that supports asynchronous JavaScript request and response.  If the condition window.ActiveXObject is true then the client browser is IE. The Microsoft browser also distinguishes its version of XmlHttp support and as a developer you should prefer using the latest available support. The for() loop tests the browser support for a specific XmlHttp version from newer versions to older versions and references the most recent version support in the XmlHttpRequest object reference. Using the XmlHttpRequest object reference, you can issue server calls from a HTML page using JavaScript. Dependent on whether a request is issued synchronously or asynchronously, the browser waits for the server to respond or uses a JavaScript callback handler to notify the page about the server response. Following this hands-on, you will work with both options. 9. Save your work. 10. Open the helloAjax.txt file in JDeveloper and type hello Ajax as a text message and save the file. 11. You are done with the