Download Language Fundamentals - Introduction to Java Script - Lecture Slides and more Slides Javascript programming in PDF only on Docsity! JavaScript Language Fundamentals I docsity.com About JavaScript • JavaScript is not Java, or even related to Java • The original name for JavaScript was “LiveScript” • The name was changed when Java became popular • Now that Microsoft no longer likes Java, its name for their JavaScript dialect is “Active Script” • Statements in JavaScript resemble statements in Java, because both languages borrowed heavily from the C language • JavaScript should be fairly easy for Java programmers to learn • However, JavaScript is a complete, full-featured, complex language • JavaScript is seldom used to write complete “programs” • Instead, small bits of JavaScript are used to add functionality to HTML pages • JavaScript is often used in conjunction with HTML “forms” • JavaScript is reasonably platform-independent docsity.com Where to put JavaScript • JavaScript can be put in the <head> or in the <body> of an HTML document • JavaScript functions should be defined in the <head> • This ensures that the function is loaded before it is needed • JavaScript in the <body> will be executed as the page loads • JavaScript functions can be put in a separate .js file • <script src="myJavaScriptFile.js"></script> • Put this in the <head> • An external .js file lets you use the same JavaScript on multiple HTML pages • The external .js file cannot itself contain a <script> tag • JavaScript can be put in an HTML form object, such as a button • This JavaScript will be executed when the form object is used docsity.com Primitive data types • JavaScript has three “primitive” types: number, string, and boolean • Everything else is an object • Numbers are always stored as floating-point values • Hexadecimal numbers begin with 0x • Some platforms treat 0123 as octal, others treat it as decimal • Since you can’t be sure, avoid octal altogether! • Strings may be enclosed in single quotes or double quotes • Strings can contains \n (newline), \" (double quote), etc. • Booleans are either true or false • 0, "0", empty strings, undefined, null, and NaN are false , other values are true docsity.com Variables • Variables are declared with a var statement: • var pi = 3.1416, x, y, name = "Dr. Dave" ; • Variables names must begin with a letter or underscore • Variable names are case-sensitive • Variables are untyped (they can hold values of any type) • The word var is optional (but it’s good style to use it) • Variables declared within a function are local to that function (accessible only within that function) • Variables declared outside a function are global (accessible from anywhere on the page) docsity.com Comments • Comments are as in C or Java: • Between // and the end of the line • Between /* and */ • Java’s javadoc comments, /** ... */, are treated just the same as /* ... */ comments; they have no special meaning in JavaScript docsity.com Statements, I • Most JavaScript statements are also borrowed from C • Assignment: greeting = "Hello, " + name; • Compound statement: { statement; ...; statement } • If statements: if (condition) statement; if (condition) statement; else statement; • Familiar loop statements: while (condition) statement; do statement while (condition); for (initialization; condition; increment) statement; docsity.com Statements, II • The switch statement: switch (expression) { case label : statement; break; case label : statement; break; ... default : statement; } • Other familiar statements: • break; • continue; • The empty statement, as in ;; or { } docsity.com Three ways to create an object • You can use an object literal: • var course = { number: "CIT597", teacher: "Dr. Dave" } • You can use new to create a “blank” object, and add fields to it later: • var course = new Object(); course.number = "CIT597"; course.teacher = "Dr. Dave"; • You can write and use a constructor: • function Course(n, t) { // best placed in <head> this.number = n; // keyword "this" is required, not optional this.teacher = t; } • var course = new Course("CIT597", "Dr. Dave"); docsity.com Functions • Functions should be defined in the <head> of an HTML page, to ensure that they are loaded first • The syntax for defining a function is: function name(arg1, …, argN) { statements } • The function may contain return value; statements • Any variables declared within the function are local to it • The syntax for calling a function is just name(arg1, …, argN) • Simple parameters are passed by value, objects are passed by reference docsity.com Warnings • JavaScript is a big, complex language • We’ve only scratched the surface • It’s easy to get started in JavaScript, but if you need to use it heavily, plan to invest time in learning it well • Write and test your programs a little bit at a time • JavaScript is not totally platform independent • Expect different browsers to behave differently • Write and test your programs a little bit at a time • Browsers aren’t designed to report errors • Don’t expect to get any helpful error messages • Write and test your programs a little bit at a time docsity.com