A tour of javascript

 26 Aug Admin

         Let’s start with a quick tour of the major features of JavaScript. This chapter is intended to be a showcase of what JavaScript can do, not an in depth investigation into the deeper concepts, so don’t worry too much if you get lost or don’t understand the code you’re typing in!

Project –

  • Our JavaScript is all going to be written using NotePad. Open NotePad and save the resulting empty document  in your user drive as chapter_4.html.
  • Begin by creating a basic HTML page in your blank document. It doesn’t have to be anything fancy – the following will be more than sufficient:

<html> <head>

  <title>Chapter 4: A Tour of JavaScript</title>

</head>

<body>

<h1>A Tour of JavaScript</h1>

</body>

</html>

  • As a convention, when the notes intend that you should enter code all on one line, they will use an arrow as  above to indicate that you should not take a new line at that point. With HTML, this is rarely important, but with JavaScript, a new line in the wrong place can stop your code from working.

Save your new webpage, and view it in your web browser. For the moment, use Internet Explorer to view this page. To do this, find your saved file on your user drive, and double-click on it. This will open the file in Internet Explorer by default, and let you see the header you’ve just created.

  • So far, we haven’t done anything beyond the scope of HTML. Let’s add some JavaScript to the page.
  • There are (generally speaking) three places in a web page where we can add JavaScript. The first of these is between a new set of HTML tags. These script tags take the following form:

<script language=”JavaScript” type=”text/JavaScript”>

… code …

</script>

  o   The script element above can be placed virtually anywhere you could place any element in an HTML page – in           otherwords, in either the head element or the body element. It is most commonly placed in the former, though this is usually so that all your code can be easily found on the page.

o   Note too that there is no arbitrary limit on the number of script elements that can be contained in an HTML page. There is nothing stopping you from having a hundred of these dotted around your pages, except perhaps prudence.

o   Let’s add our opening and closing script tags to the head element of the page, like so: 

<html>

<head>

<title> … </title>    

<script language=”JavaScript” type=”text/JavaScript”>

 </script>

</head> 

Save the file, and then try refreshing your page in the browser window. Note that nothing has happened. This is what we expected – all we have done so far is to set up an area of the page to hold our JavaScript.

   Go back to NotePad and enter the following text between the opening and closing script tags:

window.alert(“Hello world!”);

Save your changes, and again refresh your page in the browser window. Welcome to the world of JavaScript!

Go back to notepad and remove the window.alert line you just added. Now add the following, slightly more complex code: 

if  ( confirm(“Go to Google?”) )  {    

document.location  = “http://www.google.com/”;

}

 o   Again, save your changes and refresh the page. For those with an eye to future chapters, this is an example of a conditional statement, where we ask JavaScript to check the condition of something (in this case, our response to a question) and then to alter its behaviour based on what it finds.

 o   Now, both of these bits of JavaScript have run uncontrollably when the page has loaded into the browser. In most cases, we will want to have more control over when our JavaScript does what we ask it to.

o   This control is the domain of events. In a browser, every element of an HTML document has associated with it a number of events that can happen to it. Links can be clicked, forms can be submitted, pages can be loaded and so on.

o   Modify the previous lines of JavaScript in your script element to match the following: 

function  go_to_google() {  

if  ( confirm(“Go to Google?”) )  {    

document.location  =“http://www.google.com/”;

}

}

Be careful with your brackets here!

o   Save and refresh, and note that nothing happens this time. This is because we have enclosed the previous action (popping up a question and acting on the response) within a function. A function is a block of code that is given a name – in this case, the name is go_to_google() – and is only run when that name is “called”. It can be useful to think of functions as magic spells that can be invoked when their name is said.

o   To invoke this spell, we need to choose an element on the page to trigger it. A natural candidate is a link element, so add the following HTML to the body section of your page: 

<p>A quick <a href=”#”>test</a>.</p>

o   The # link is a common HTML trick that allows us to create a “link to nowhere”. 

o   Save and refresh, and check that the link appears on the page, and that it goes nowhere when clicked.

o   Now, we want to have our page ask us if we want to “Go to Google?” when we click on that link. Here’s how

o   Take the link element, and modify it as follows: 

<a href=”#” onclick=”go_to_google();”>test</a>

o Save and refresh, and then click on the link. This is an example of an event handler. When the link is clicked (onclick), our browser says the “magic words” go_to_google(), and our function is invoked.

          o   For our final trick, add the following code to the body section of the page, after the paragraph containing the link: 

<body>

<script language=”JavaScript” type=”text/JavaScript”>

document.write(“<h2>Here’s another    header!</h2>”);

</script>

o   Note that the line of code should be all on one line! Save the page and refresh the browser. Note that we now have a new line of text on the page – another header! We’ve used JavaScript to create HTML and tell the browser to display it appropriately. In this example, JavaScript has done nothing that we couldn’t have done with a line of HTML, but in future chapters we will see how we can use this to write the current date and more.

Read More

About Javascript

25 Aug Admin

o      JavaScript is an interpreted, client-side, event-based, objectoriented scripting language that you can use to add dynamic interactivity to your web pages.

o       JavaScript scripts are written in plain text, like HTML, XML, Java, PHP and just about any other modern computer code. In     this code, we will use Windows NotePad to create and edit our JavaScript code, but there are a large number of alternatives   available. NotePad is chosen to demonstrate JavaScript’s immediacy and simplicity.

o      You can use JavaScript to achieve any of the following:

    §  Create special effects with images that give the impression that a button is either highlighted or depressed whenever the mouse    pointer is hovered o ver it.

§  Validate information that users enter into your web forms

§  Open pages in new windows, and customise the appearance of those new windows.

§  Detect the capabilities of the user’s browser and alter your page’s content appropriately.

§  Create custom pages “on the fly” without the need for a server-side language like PHP.

§  And much more…

o      JavaScript is not Java, though if you come from a Java background, you will notice that both languages look similar when written. Java is a full featured and comprehensive programming language similar to C or C++, and although JavaScript can interact with Java web applications, the two should not be confused.

o      Different web browsers will run your JavaScript in different, sometimes incompatible ways. In order to work around this, it is often necessary to use JavaScript itself to detect the capabilities of the browser in which it finds itself, and alter its operation depending on the result.

o      To revisit the original definition in this chapter, note the following points:

§  Interpreted refers to the fact that JavaScript code is executed (acted on) as it is loaded into the browser. This is a change of pace from compiled languages like Java, which check your program thoroughly before running a single line of code, and can have many implications that can catch you out if you are from a non-interpreted programming background.

§  Client-side has been defined already in the previous chapter.

§  Event-based refers to JavaScript’s ability to run certain bits of code only when a specified event occurs. An event could be the page being loaded, a form being submitted, a link being clicked, or an image being pointed at by a mouse pointer.

§  Object-oriented signals that JavaScript’s power to exert control over an HTML page is based on manipulating objects within that page. If you are familiar with object-oriented programming, you will be aware of some of the power that this can bring to the coding environment.

One final note: While JavaScript is a programming language, HTML (the language of the World Wide Web) is not. HTML is a Markup Language, which means that it can be used to mark areas of a document as having special characteristics like headers, paragraphs, images, forms and so on, but it cannot perform any logical processing on its own. So while JavaScript is often written alongside HTML, the rules of one do not necessarily have any bearing on the other. 

Read More

Variables and Operators

24 Aug Admin

o      We have been introduced to the concepts of objects and their various properties and methods. These inter-related concepts allow any web page to be broken down into little snippets of information or data, which can then be accessed by JavaScript and, in many cases, changed.

o      However, what if we want to create our own storage space for information that doesn’t necessarily have a page-based counterpart? For example, what if we wanted to store the previous value of a document’s title property before changing it, so it could be retrieved later, or if we wished to store the date time that the page was loaded into the browser for reproduction in several places on the page, and didn’t want to have to recalculate the time on each occasion?

o     Variables are named containers for values within JavaScript. They are similar to object properties in many ways, but differ importantly:

o      In a practical sense, variables have no “parent” object with which they are associated.

o     Variables can be created (“declared”) by you as a developer, and can be given any arbitrary name (within certain rules) – object properties, however, are restricted by the definition of the parent object. It would make no sense, for example, for our piano object in the previous chapters to have a propeller property!

Variable name rules are straightforward – no spaces, names must start with a letter. Examples of valid variable names are:

BrowserName

page_name

Message1

MESSAGE1

o    In many browsers, JavaScript is case-sensitive, which means that the last two variables in the example above are distinct variables. It is a good idea to pick a particular naming style for your variables, and to stick to it within your projects.

o    At the simplest level, variables can store three different types of value:

o     Numbers

e.g. 1.3324, 3.14159, 100000, -8 etc.

o     Strings

e.g. “JavaScript for Beginners, week 3”, “Hello World” etc.

o     Boolean Values

e.g. true, false

o     Note that strings can contain numbers, but the following variable values are not equivalent:

 1.234 and “1.234”

 The latter is a string value. This becomes important. Consider:

 1+2 = 3

“a” + “b” = “ab”

“1” + “2” = “12”

o     Some developers use their own naming convention with variable names to denote the type of value expected to be contained in a given variable. This can often be helpful, but is in no way required by JavaScript (c.f. JavaScript comments)

o   For example, strMessage might indicate a string variable, where numPageHits might indicate a numerical value in the variable.

Variable assignment is accomplished in the same way as object property assignment. When a variable is assigned a value for the first time, it is automatically created. This is different from other programming languages, where a variable must be created explicitly first, before it can be loaded with a value.

o   Some examples of variable assignment follow:

numBrowserVersion = 5.5;

numTotal += 33;

Message = “Hello!”;

Message = “Goodbye”; Message = 3;

o     Note that the last three examples show that variable values can be altered after their initial assignment, and also that the type of  value stored in a variable can be altered in a similar manner.

o     Once a variable has been created and a value stored within, we will want to be able to access it and perhaps manipulate it. In a similar manner to object properties, we access our variables simply by calling them:

 Message = “Hello World!”; alert(Message);

o     Note that we do not use quote marks around our variable names. The above code is different from:

alert(“Message”);

 for hopefully obvious reasons.

o      As well as using variables for storage and access, we can combine and manipulate them using operators. For example:

a = 12; b = 13; c = a + b; // c is now 25 c += a; // c is now 37

c = b + “ Hello!”; // c is now “13 Hello!”

Our last example may have been unexpected – we added a number to a string and got a string as a result. JavaScript is smart enough to realise that a number cannot be “added” to a string in a numerical sense, so it converts the number temporarily to a string and performs a concatenation of the two strings. Note that b remains 13, not “13”. o A table of operators:

OperatorFunction
x + yAdds x to y if both are numerical – otherwise performs concatenation
x – ySubtracts x from y if both are numerical
x * yMultiplies x and y
x / yDivides x by y
x % yDivides x by y, and returns the remainder
-xReverses the sign of x
x++Adds 1 to x AFTER any associated assignment
++xAdds 1 to x BEFORE any associated assignment
x–Subtracts 1 from x AFTER any associated assignment
–xSubtracts 1 from x BEFORE any associated assignment

Project

o   Open your previous project file, and save it under the name chapter_11.html.

o   Clear the previous JavaScript code, and ensure that the script tags are contained in the body section of the document.

o   Assign the message 

“Welcome to my web site”

to a variable called greeting.

o    Use this variable to create an alert box containing the message, and also to produce a header on the page without having to retype the message.

o    Test this page in your browser. o Now, modify your code to create two variables, var_1 and var_2.

o    Assign the value “Welcome to” to var_1, and the value “my web site” to var_2.

o    Create a third variable var_3, and assign to it the value of var_1 + var_2. Then use an alert box to check the resultant value of var_3.

o    Test this page in your browser.

Title

Read More

Programming Language

 24 Aug Admin

o   A programming language is a set of codes that we can use to give a computer instructions to follow.

o   Popular and well-known programming languages include Java, C++, COBOL, BASIC, LISP and more. Most popular programming languages consist of words and phrases that are similar in form to the English language.

o   A well-written program will be easily readable by anyone with a little programming experience, regardless of whether they have any direct experience of the language in question. This is because modern programming languages share a large number of common concepts. In particular, they all have a notion of variablesarraysloopsconditionals, and functions. We will meet these concepts again in more depth later in the course.

o   Traditionally, programming languages have been used to write (for the most part) “stand-alone” applications. Things like Microsoft Word, Mozilla Firefox and Lotus Notes are all examples of such applications. Once installed on a PC, these applications run without necessarily requiring any other software to be installed alongside them.

o   Web Applications differ from these traditional applications in many respects, but the most striking is that they all run inside your web browser. Examples of popular web applications are things like Google, Hotmail, Flickr, GMail and any of the vast array of “weblogging” systems.

o   These applications are also written using programming languages, but as a rule they are built using multiple, interdependent technologies. These technologies are easily (though not completely) broken down into two categories: server-side and client-side.

o   A programming language is a set of codes that we can use to give a computer instructions to follow.

o   Popular and well-known programming languages include Java, C++, COBOL, BASIC, LISP and more. Most popular programming languages consist of words and phrases that are similar in form to the English language.

o   A well-written program will be easily readable by anyone with a little programming experience, regardless of whether they have any direct experience of the language in question. This is because modern programming languages share a large number of common concepts. In particular, they all have a notion of variablesarraysloopsconditionals, and functions. We will meet these concepts again in more depth later in the course.

o   Traditionally, programming languages have been used to write

(for the most part) “stand-alone” applications. Things like Microsoft Word, Mozilla Firefox and Lotus Notes are all examples of such applications. Once installed on a PC, these applications run without necessarily requiring any other software to be installed alongside them.

o   Web Applications differ from these traditional applications in many respects, but the most striking is that they all run inside your web browser. Examples of popular web applications are things like Google, Hotmail, Flickr, GMail and any of the vast array of “weblogging” systems.

o   These applications are also written using programming languages, but as a rule they are built using multiple, interdependent technologies. These technologies are easily (though not completely) broken down into two categories: server-side and client-side.

Read More

Client-side vs. Server-side

 24 Aug Admin

o     The World Wide Web is built on a number of different technologies.

o     For most users, the web starts and ends with their choice of web browser. The browser is said to define the client-sideof the web, with the browser, the computer it is running on, and the user surfing the web being collectively referred to as the client.

o     Consider a client who has decided to visit the web site at www.google.com. The first thing that happens is that the client will make a request to Google’s web server for the default page of that web site.

o     The web server is an application running on a computer owned by Google. Like the client, the server application and the computer on which it runs define the server-side of the web, and are collectively referred to as the server.

o     When the server receives the request from the client for a particular page, its job is to retrieve the page from the computer’s files and serve it back to the client. In many cases, this operation is a very simple procedure involving little or no work on the part of the server.

o     However, using a programming language like PHP, Perl or Java, we can cause the server to either modify the page it finds before it passes it back to the client, or even to generate the page entirely from scratch. This is referred to as a server-side application. The page passed back to the client looks (to the client) exactly the same as any other page that has not been modified.

o     An example of a server-side application might be to insert the current date and time into a page. This would mean that each time the page was requested (say, by using the browser’s refresh button), a new time value would be added to the page.

o     Once the client has received the page from the server, it displays the page and waits for the user to request another page. As soon as the page reaches this state, it has moved beyond the control of the server. No server-side application can now alter the contents of the page without the client having to make another trip back to the server to get a new (and possibly updated) copy of the page.

o      However, all modern browsers allow for the running of clientside applications. These are small applications which are embedded within the HTML code of the page itself.

o     Server-side applications ignore any client-side applications that they find while modifying pages to send to the client, so in general the two types of application cannot easily “talk” to each other.

o     However, once the client has received a client-side application, it can begin to modify the page dynamically, without the need to go back to the server.

o     An example of a client-side application might be a clock on a web page that updated every second.

o     An unfortunate side effect of client-side applications is that all the code must be sent to the client for running, which means that the application’s inner workings are available for anyone to see. This makes it impractical for checking passwords, or doing anything else that could cause confidential information to be released into the wild.

o     In addition, all modern web browsers afford the user the opportunity to switch off client-side applications altogether. On top of this, the way the same client-side application is run will vary from browser type to browser type.

o     Despite these drawbacks, client-side applications (or scripts, as they are better known due to their general brevity) remain the best way to provide web users with a rich environment when developing web applications.

o     In short, the two technologies each have their strengths and weaknesses:

o     Client-side scripts allow the developer to alter pages dynamically, and to respond to user actions immediately rather than having to wait for the server to create a new version of the page. However, there are security and cross-browser compatibility issues to be aware of, and these are often nontrivial.

o     Server-side applications allow the developer to keep her code secure and secret, thus allowing for more powerful applications to be created. In addition, since the server running the code is always a known quantity, applications that run successfully in one browser will run successfully in all browsers. However, despite all this power, there is no direct way for a server-side application to alter a page without having to force the client-side to load another page. This makes it completely impractical for things like drop-down menus, pre-submission form checking, timers, warning alerts and so forth.

Read More

Implementation

24 Aug  Admin

Implementation in JavaScript can be done in following two ways :-

1. Internal JavaScript

2. External JavaScript

Internal JavaScript

In internal javaScript , Javascript code is implemented internally inside the head section or inside the body section.

Inside the head section

24 Aug  Admin

Implementation in JavaScript can be done in following two ways :-

1. Internal JavaScript

2. External JavaScript

Internal JavaScript

In internal javaScript , Javascript code is implemented internally inside the head section or inside the body section.

Inside the head section

Inside the body section                      

Inside the body section                      

Read More

Introduction to JavaScript

24 Aug   Admin

JavaScript is a client side programming language used to add programming logic to web pages.

Brendan Eich (born July 4, 1961) is an American technologist and creator of the JavaScript programming language. He co-founded the Mozilla project,[2] the Mozilla Foundation and the Mozilla Corporation, and served as the Mozilla Corporation’s chief technical officer and briefly, as its chief executive officer.[3] He is the CEO of Brave Software.[4] For more(Wikipedia.org)

Applications of JavaScript :-

  • Client side valiadtion
  • Helps in manipulating HTML pages
  • User Notification (Pop-ups in website)
  • Back-end Data Loading (Ajax library)
  • Presentations (RevealJs and BespokeJs)
  • Server Applications (NodeJs)

There are many useful Javascript libraries available:-

  • Angular
  • React
  • jQuery
  • Vue.js
  • Ext.js
  • Ember.js
  • Meteor
  • Mithril
  • Node.js
  • Polymer
  • Aurelia
  • Backbone.js etc.

Basic JavaScript Example :-

<html>

         <body>

                <script>

                </script>

         </body>

</html>

Read More