We want to make this open-source project available for people all around the world. Please help us to translate the content of this tutorial to the language you know

The tutorial that you’re reading is about core JavaScript, which is platform-independent. Further on, you will learn Node.JS and other platforms that use it.

But, we need a working environment to run our scripts, and, just because this book is online, the browser is a good choice. We’ll keep the amount of browser-specific commands (like alert) to a minimum so that you don’t spend time on them if you plan to concentrate on another environment like Node.JS. On the other hand, browser details are explained in detail in the next part of the tutorial.

So first, let’s see how to attach a script to a webpage. For server-side environments, you can just execute it with a command like "node my.js" for Node.JS.

The “script” tag

JavaScript programs can be inserted in any part of an HTML document with the help of the <script> tag.

For instance:



  <p>Before the script...</p>

    alert( 'Hello, world!' );

  <p>...After the script.</p>



You can run the example by clicking on the “Play” button in its right-top corner.

The <script> tag contains JavaScript code which is automatically executed when the browser meets the tag.

The modern markup

The <script> tag has a few attributes that are rarely used nowadays, but we can find them in old code:

The type attribute: <script type=…>

The old standard HTML4 required a script to have a type. Usually it was type="text/javascript". It’s not required anymore. Also, the modern standard totally changed the meaning of this attribute. Now it can be used for Javascript modules. But that’s an advanced topic; we’ll talk about modules later in another part of the tutorial.

The language attribute: <script language=…>

This attribute was meant to show the language of the script. This attribute no longer makes sense, because JavaScript is the default language. No need to use it.

江苏快三基本走势图带连线_江苏快3走势图 before and after scripts.

In really ancient books and guides, one may find comments inside <script>, like this:

<script type="text/javascript"><!--

This trick isn’t used in modern JavaScript. These comments were used to hide the JavaScript code from old browsers that didn’t know about a <script> tag. Since browsers released in the last 15 years don’t have this issue, this kind of comment can help you identify really old code.

External scripts

If we have a lot of JavaScript code, we can put it into a separate file.

The script file is attached to HTML with the src attribute:

<script src="/path/to/script.js"></script>

Here /path/to/script.js is an absolute path to the file with the script (from the site root).

It is also possible to provide a path relative to the current page. For instance, src="script.js" would mean a file "script.js" in the current folder.

We can give a full URL as well. For instance:

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.2.0/lodash.js"></script>

To attach several scripts, use multiple tags:

<script src="/js/script1.js"></script>
<script src="/js/script2.js"></script>
Please note:

As a rule, only the simplest scripts are put into HTML. More complex ones reside in separate files.

The benefit of a separate file is that the browser will download it and then store it in its cache.

After this, other pages that want the same script will take it from the cache instead of downloading it. So the file is actually downloaded only once.

That saves traffic and makes pages faster.

If src is set, the script content is ignored.

A single <script> tag can’t have both the src attribute and the code inside.

This won’t work:

<script src="file.js">
  alert(1); // the content is ignored, because src is set

We must choose: either it’s an external <script src="…"> or a regular <script> with code.

The example above can be split into two scripts to work:

<script src="file.js"></script>


  • We can use a <script> tag to add JavaScript code to the page.
  • The type and language attributes are not required.
  • A script in an external file can be inserted with <script src="path/to/script.js"></script>.

There is much more to learn about browser scripts and their interaction with the web-page. But let’s keep in mind that this part of the tutorial is devoted to the JavaScript language, so we shouldn’t distract ourselves from it. We’ll be using a browser as a way to run JavaScript, which is very convenient for online reading, but yet one of many.


importance: 5

Create a page that shows a message “I’m JavaScript!”.

Do it in a sandbox, or on your hard drive, doesn’t matter, just ensure that it works.

Demo in new window
importance: 5

Take the solution of the previous task Show an alert. Modify it by extracting the script content into an external file alert.js, residing in the same folder.

Open the page, ensure that the alert works.

The HTML code:

<!DOCTYPE html>


  <script src="alert.js"></script>



For the file alert.js in the same folder:

alert("I'm JavaScript!");
Tutorial map


read this before commenting…
  • You're welcome to post additions, questions to the articles and answers to them.
  • To insert a few words of code, use the <code> tag, for several lines – use <pre>, for more than 10 lines – use a sandbox (plnkr, JSBin, codepen…)
  • If you can't understand something in the article – please elaborate.