Introducing JavaScript

JavaScript has changed a great deal since it was first introduced but many sites still use outdated techniques. There are even lots of JavaScript tutorials on the web that show you how JavaScript should be written so that it can work in Netscape 2 rather than so that it will work in modern browsers. As a result there are many people who are writing what they think is JavaScript but where what they are producing is more suited to the 20th Century than to the 21st.

Beginners should work through all the basic examples prior to moving on to the other examples which cover separate aspects of JavaScript in more detail.

Most of the JavaScript examples here will work in IE5+, Opera7+ and all versions of Firefox, Safari and Chrome. Those commands introduced in ECMAScript 5 in 2011 are being added to the site where they are supported by the latest version of all popular browsers. Where these new commands are not supported by IE8 or IE7 that information is included in the text since those two browsers might still have to many users for you to ignore. So few people using other browsers fail to keep their browser up to date that lack of support in older versions of other browsers will not have any significant affect.

A few examples of what we can expect from EcmaScript 6 are also included in their own section so you can see the direction that JavaScript is moving in - even though it will probably be quite a while before we can use those commands.

There is a link to jsBin at the bottom right of all the pages. This site provides an easy way to test your JavaScript code online without needing to create an entire web page to run a simple test.

Separating HTML within JavaScript

One way to keep the HTML that your script needs to use separate from the actual JavaScript is to put the HTML as a comment inside its own function. We can then add a toText method to all our functions to use with those functions that contain HTML instead of JavaScript.

Function.bind

ECMAscript 5 added this as a built in method and while we can’t replicate it perfectly for older browsers we can implement it well enough to make bind usable in all browsers.

Function.memoize

Using the Function object for defining new functions is not recommended because it is by far the least efficient of the three alternatives. Whare the Function object is actually useful is that it allows us to add methods to all our functions that allow us to change the way that the functions work. You might […]

String.chunk

Yet another thing we may need to convert text into is an array with each array element containing the same number of characters. This is relatively easy where we want just one character per element but adding a new method makes it far easier when the chunk size is more than one character.

String.splitLine

If we are processing plain text then we may have situations where there is a maximum number of characters that are allowed on each line. We can easily add a method that will add line breaks to the text such that we don’t split a line in the middle of a word.

This site is © copyright Stephen Chapman - Felgall Pty Ltd 2011-2014.

Privacy Policy | Terms and Conditions

You are welcome to use any the example JavaScript from this site in the scripts for your site or any that you develop for others but may not use the longer example scripts that contain a copyright notice in any other way without permission.