94 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			94 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Where to | ||
|  | --- | ||
|  | ## Where to
 | ||
|  | 
 | ||
|  | JavaScript is the programming language of HTML and the Web. In HTML, JavaScript must be inserted in the `<script>` container tag. | ||
|  | 
 | ||
|  | ### Example
 | ||
|  | 
 | ||
|  | ```html | ||
|  | <script> | ||
|  |   window.alert("This JavaScript Works!"); | ||
|  | </script> | ||
|  | ``` | ||
|  | 
 | ||
|  | Also, remember that you can place any number of `<script>` tags in an HTML document. | ||
|  | 
 | ||
|  | ### Where does the `<script>` tag go?
 | ||
|  | 
 | ||
|  | The `<script>` tag can be placed in the `<head>` or the `<body>`. | ||
|  | 
 | ||
|  | ### JavaScript in the `<head>`
 | ||
|  | 
 | ||
|  | In this example, the JavaScript is placed in the `<head>` section of the document. A function **onClicked** is created, which is called when a button is pressed. | ||
|  | 
 | ||
|  | ```html | ||
|  | <!DOCTYPE html> | ||
|  | <html> | ||
|  | <head> | ||
|  | <script> | ||
|  | function onClicked() { | ||
|  |     window.alert("Hi, there!"); | ||
|  | } | ||
|  | </script> | ||
|  | </head> | ||
|  | 
 | ||
|  | <body> | ||
|  | 
 | ||
|  | <h1>JavaScript Testing</h1> | ||
|  | <button type="button" onclick="onClicked()">Try it</button> | ||
|  | 
 | ||
|  | </body> | ||
|  | </html> | ||
|  | ``` | ||
|  | 
 | ||
|  | ### JavaScript in the `<body>`
 | ||
|  | 
 | ||
|  | Here, the JavaScript is placed in the <body>. The function **onClicked** is created and is set to be fired when the button is clicked. | ||
|  |    | ||
|  | ```html | ||
|  | <!DOCTYPE html> | ||
|  | <html> | ||
|  | <body> | ||
|  | 
 | ||
|  | <h1>JavaScript Testing</h1> | ||
|  | <button type="button" id="buttonClicked">Try it</button> | ||
|  | 
 | ||
|  | <script> | ||
|  | document.getElementById("buttonClicked").onclick = onClicked; | ||
|  |    | ||
|  | function onClicked() { | ||
|  |     window.alert("Hi, there!"); | ||
|  | } | ||
|  | </script> | ||
|  | 
 | ||
|  | </body> | ||
|  | </html> | ||
|  | ``` | ||
|  | 
 | ||
|  | ### External Scripts
 | ||
|  | 
 | ||
|  | Scripts can also be placed in external files. Let's create a file **script.js**. | ||
|  | ##### script.js
 | ||
|  | ```javascript | ||
|  | window.alert("Hi!"); | ||
|  | ``` | ||
|  | 
 | ||
|  | This script can be included in an HTML document as so: | ||
|  | ```html | ||
|  | <!DOCTYPE html> | ||
|  | <html> | ||
|  | <body> | ||
|  |    | ||
|  | <script src="script.js"></script> | ||
|  | 
 | ||
|  | </body> | ||
|  | </html> | ||
|  | ``` | ||
|  | 
 | ||
|  | _Hi!_ will still be alerted when the page is rendered. Remember, you do not need to include `<script>` tags in JavaScript files (the files which have the extension **.js**). | ||
|  | 
 | ||
|  | #### More Information:
 | ||
|  | Yahoo recommends placing scripts at the bottom. This is elaborated [here](https://developer.yahoo.com/performance/rules.html#js_bottom), with the reason for this recommendation. |