INTRODUCTION TO JAVASCRIPT
Client Side Scripting 2
Why use client-side programming? PHP already allows us to create dynamic web pages. Why also use client- side scripting? ⦿ client-side scripting (JavaScript) benefits: ⌾ usability: can modify a page without having to post back to the server (faster UI) ⌾ efficiency: can make small, quick changes to page without waiting for server ⌾ event-driven: can respond to user actions like clicks and key presses 3
Why use client-side programming? ⦿ server-side programming (PHP) benefits: ⌾ security: has access to server's private data; client can't see source code ⌾ compatibility: not subject to browser compatibility issues ⌾ power: can write files, open connections to servers, connect to databases, ... 4
What is JavaScript? ⦿ a lightweight programming language ("scripting language") ⌾ used to make web pages interactive ⌾ insert dynamic text into HTML (ex: username) ⌾ react to events (ex: page load user click) ⌾ get information about a user's computer (ex: browser type) ⌾ perform calculations on user's computer (ex: form validation) 5
What is JavaScript? ⦿ a web standard (but not supported identically by all browsers) ⦿ NOT related to Java other than by name and some syntactic similarities 6
JavaScript vs Java ⦿ interpreted, not compiled ⦿ more relaxed syntax and rules ⌾ fewer and "looser" data types ⌾ variables don't need to be declared ⌾ errors often silent (few exceptions) ⦿ key construct is the function rather than the class ⌾ "first-class" functions are used in many situations ⦿ contained within a web page and integrates with its HTML/CSS content 7
JavaScript vs. PHP ⦿ similarities: ⌾ both are interpreted, not compiled ⌾ both are relaxed about syntax, rules, and types ⌾ both are case-sensitive ⌾ both have built-in regular expressions for powerful text processing 8
JavaScript vs. PHP ⦿ differences: ⌾ JS is more object-oriented: noun.verb(), less procedural: verb(noun) ⌾ JS focuses on user interfaces and interacting with a document; PHP is geared toward HTML output and file/form processing ⌾ JS code runs on the client's browser; PHP code runs on the web server 9
Event-driven Programming 10
Event-driven programming ⦿ you are used to programs start with a main method (or implicit main like in PHP) ⦿ JavaScript programs instead wait for user actions called events and respond to them ⦿ event-driven programming: writing programs driven by user events 11
Event handlers ⦿ JavaScript functions can be set as event handlers ⌾ when you interact with the element, the function will execute ⦿ onclick is just one of many event HTML attributes we'll use ⦿ but popping up an alert window is disruptive and annoying ⌾ A better user experience would be to have the message appear on the page... 12 <element attributes onclick="function();">... HTML <button onclick="myFunction();">Click me!</button> HTML
Document Object Model (DOM) ⦿ most JS code manipulates elements on an HTML page ⦿ we can examine elements' state ⌾ e.g. see whether a box is checked ⦿ we can change state ⌾ e.g. insert some new text into a div ⦿ we can change styles ⌾ e.g. make a paragraph red 13
Document Object Model (DOM) 14
Accessing elements: document.getElementById 15 var name = document.getElementById("id"); JS <button onclick="changeText();">Click me!</button> <span id="output">replace me</span> <input id="textbox" type="text" /> HTML function changeText() { var span = document.getElementById("output"); var textBox = document.getElementById("textbox"); textbox.style.color = "red"; } JS
Accessing elements: document.getElementById ⦿ document.getElementById returns the DOM object for an element with a given id ⦿ can change the text inside most elements by setting the innerHTML property ⦿ can change the text in form controls by setting the value property 16
Changing element style: element.style 17 Attribute Property or style object color color padding padding background-color backgroundColor border-top-width borderTopWidth Font size fontSize Font famiy fontFamily
Linking to a JavaScript file: script ⦿ script tag should be placed in HTML page's head ⦿ script code is stored in a separate .js file ⦿ JS code can be placed directly in the HTML file's body or head (like CSS) ⌾ but this is bad style (should separate content, presentation, and behavior 18 <script src="filename" type="text/javascript"></script> HTML
MORE JAVASCRIPT SYNTAX
Variables ⦿ variables are declared with the var keyword (case sensitive) ⦿ types are not specified, but JS does have types ("loosely typed") ⌾ Number, Boolean, String, Array, Object, Function, Null, Undefined ⌾ can find out a variable's type by calling typeof 20 var name = expression; JS var clientName = "Connie Client"; var age = 32; var weight = 127.4; JS
Comments (same as Java) ⦿ identical to Java's comment syntax ⦿ recall: 4 comment syntaxes ⌾ HTML: <!-- comment --> ⌾ CSS/JS/PHP: /* comment */ ⌾ Java/JS/PHP: // comment ⌾ PHP: # comment 21 // single-line comment /* multi-line comment */ JS
Math object ⦿ methods: abs, ceil, cos, floor, log, max, min, pow, random, round, sin, sqrt, tan ⦿ properties: E, PI 22 var rand1to10 = Math.floor(Math.random() * 10 + 1); var three = Math.floor(Math.PI); JS
Special values: null and undefined ⦿ undefined : has not been declared, does not exist ⦿ null : exists, but was specifically assigned an empty or null value ⦿ Why does JavaScript have both? 23 var ned = null; var benson = 9; // at this point in the code, // ned is null // benson's 9 // caroline is undefined JS
Logical operators ⦿ > < >= <= && || ! == != === !== ⦿ most logical operators automatically convert types: ⌾ 5 < "7" is true ⌾ 42 == 42.0 is true ⌾ "5.0" == 5 is true ⦿ === and !== are strict equality tests; checks both type and value ⌾ "5.0" === 5 is false 24
if/else statement (same as Java) ⦿ identical structure to Java's if/else statement ⦿ JavaScript allows almost anything as a condition 25 if (condition) { statements; } else if (condition) { statements; } else { statements; } JS
for loop (same as Java) 26 var sum = 0; for (var i = 0; i < 100; i++) { sum = sum + i; } JS var s1 = "hello"; var s2 = ""; for (var i = 0; i < s.length; i++) { s2 += s1.charAt(i) + s1.charAt(i); } // s2 stores "hheelllloo" JS
while loops (same as Java) 27 ⦿ break and continue keywords also behave as in Java while (condition) { statements; } JS do { statements; } while (condition); JS
Popup boxes 28 alert("message"); // message confirm("message"); // returns true or false prompt("message"); // returns user input string JS
Arrays 29 var name = []; // empty array var name = [value, value, ..., value]; // pre-filled name[index] = value; // store element JS var ducks = ["Huey", "Dewey", "Louie"]; var stooges = []; // stooges.length is 0 stooges[0] = "Larry"; // stooges.length is 1 stooges[1] = "Moe"; // stooges.length is 2 stooges[4] = "Curly"; // stooges.length is 5 stooges[4] = "Shemp"; // stooges.length is 5 JS
Array methods 30 ⦿ array serves as many data structures: list, queue, stack, ... ⦿ methods: concat, join, pop, push, reverse, shift, slice, sort, splice, toString, unshift ⌾ push and pop add / remove from back ⌾ unshift and shift add / remove from front ⌾ shift and pop return the element that is removed var a = ["Stef", "Jason"]; // Stef, Jason a.push("Brian"); // Stef, Jason, Brian a.unshift("Kelly"); // Kelly, Stef, Jason, Brian a.pop(); // Kelly, Stef, Jason a.shift(); // Stef, Jason a.sort(); // Jason, Stef JS
String type 31 ⦿ methods: charAt, charCodeAt, fromCharCode, indexOf, lastIndexOf, replace, split, substring, toLowerCase, toUpperCase ⌾ charAt returns a one-letter String (there is no char type) ⦿ length property (not a method as in Java) ⦿ Strings can be specified with "" or '' ⦿ concatenation with + : ⌾ 1 + 1 is 2, but "1" + 1 is "11" var s = "Connie Client"; var fName = s.substring(0, s.indexOf(" ")); // "Connie" var len = s.length; // 13 var s2 = 'Melvin Merchant'; JS
JavaScript functions ⦿ the above could be the contents of example.js linked to our HTML page ⦿ statements placed into functions can be evaluated in response to user events 32 function name() { statement ; statement ; ... statement ; } JS function myFunction() { alert("Hello!"); alert("How are you?"); } JS
THANKS! Any questions? You can find me at: ⦿ facebook.com/rjd.agustin ⦿ rjdagustin@tsu.edu.ph 33

MYSQL DATABASE INTRODUCTION TO JAVASCRIPT.pptx

  • 1.
  • 2.
  • 3.
    Why use client-sideprogramming? PHP already allows us to create dynamic web pages. Why also use client- side scripting? ⦿ client-side scripting (JavaScript) benefits: ⌾ usability: can modify a page without having to post back to the server (faster UI) ⌾ efficiency: can make small, quick changes to page without waiting for server ⌾ event-driven: can respond to user actions like clicks and key presses 3
  • 4.
    Why use client-sideprogramming? ⦿ server-side programming (PHP) benefits: ⌾ security: has access to server's private data; client can't see source code ⌾ compatibility: not subject to browser compatibility issues ⌾ power: can write files, open connections to servers, connect to databases, ... 4
  • 5.
    What is JavaScript? ⦿a lightweight programming language ("scripting language") ⌾ used to make web pages interactive ⌾ insert dynamic text into HTML (ex: username) ⌾ react to events (ex: page load user click) ⌾ get information about a user's computer (ex: browser type) ⌾ perform calculations on user's computer (ex: form validation) 5
  • 6.
    What is JavaScript? ⦿a web standard (but not supported identically by all browsers) ⦿ NOT related to Java other than by name and some syntactic similarities 6
  • 7.
    JavaScript vs Java ⦿interpreted, not compiled ⦿ more relaxed syntax and rules ⌾ fewer and "looser" data types ⌾ variables don't need to be declared ⌾ errors often silent (few exceptions) ⦿ key construct is the function rather than the class ⌾ "first-class" functions are used in many situations ⦿ contained within a web page and integrates with its HTML/CSS content 7
  • 8.
    JavaScript vs. PHP ⦿similarities: ⌾ both are interpreted, not compiled ⌾ both are relaxed about syntax, rules, and types ⌾ both are case-sensitive ⌾ both have built-in regular expressions for powerful text processing 8
  • 9.
    JavaScript vs. PHP ⦿differences: ⌾ JS is more object-oriented: noun.verb(), less procedural: verb(noun) ⌾ JS focuses on user interfaces and interacting with a document; PHP is geared toward HTML output and file/form processing ⌾ JS code runs on the client's browser; PHP code runs on the web server 9
  • 10.
  • 11.
    Event-driven programming ⦿ youare used to programs start with a main method (or implicit main like in PHP) ⦿ JavaScript programs instead wait for user actions called events and respond to them ⦿ event-driven programming: writing programs driven by user events 11
  • 12.
    Event handlers ⦿ JavaScriptfunctions can be set as event handlers ⌾ when you interact with the element, the function will execute ⦿ onclick is just one of many event HTML attributes we'll use ⦿ but popping up an alert window is disruptive and annoying ⌾ A better user experience would be to have the message appear on the page... 12 <element attributes onclick="function();">... HTML <button onclick="myFunction();">Click me!</button> HTML
  • 13.
    Document Object Model(DOM) ⦿ most JS code manipulates elements on an HTML page ⦿ we can examine elements' state ⌾ e.g. see whether a box is checked ⦿ we can change state ⌾ e.g. insert some new text into a div ⦿ we can change styles ⌾ e.g. make a paragraph red 13
  • 14.
  • 15.
    Accessing elements: document.getElementById 15 var name= document.getElementById("id"); JS <button onclick="changeText();">Click me!</button> <span id="output">replace me</span> <input id="textbox" type="text" /> HTML function changeText() { var span = document.getElementById("output"); var textBox = document.getElementById("textbox"); textbox.style.color = "red"; } JS
  • 16.
    Accessing elements: document.getElementById ⦿ document.getElementByIdreturns the DOM object for an element with a given id ⦿ can change the text inside most elements by setting the innerHTML property ⦿ can change the text in form controls by setting the value property 16
  • 17.
    Changing element style: element.style 17 AttributeProperty or style object color color padding padding background-color backgroundColor border-top-width borderTopWidth Font size fontSize Font famiy fontFamily
  • 18.
    Linking to aJavaScript file: script ⦿ script tag should be placed in HTML page's head ⦿ script code is stored in a separate .js file ⦿ JS code can be placed directly in the HTML file's body or head (like CSS) ⌾ but this is bad style (should separate content, presentation, and behavior 18 <script src="filename" type="text/javascript"></script> HTML
  • 19.
  • 20.
    Variables ⦿ variables aredeclared with the var keyword (case sensitive) ⦿ types are not specified, but JS does have types ("loosely typed") ⌾ Number, Boolean, String, Array, Object, Function, Null, Undefined ⌾ can find out a variable's type by calling typeof 20 var name = expression; JS var clientName = "Connie Client"; var age = 32; var weight = 127.4; JS
  • 21.
    Comments (same asJava) ⦿ identical to Java's comment syntax ⦿ recall: 4 comment syntaxes ⌾ HTML: <!-- comment --> ⌾ CSS/JS/PHP: /* comment */ ⌾ Java/JS/PHP: // comment ⌾ PHP: # comment 21 // single-line comment /* multi-line comment */ JS
  • 22.
    Math object ⦿ methods:abs, ceil, cos, floor, log, max, min, pow, random, round, sin, sqrt, tan ⦿ properties: E, PI 22 var rand1to10 = Math.floor(Math.random() * 10 + 1); var three = Math.floor(Math.PI); JS
  • 23.
    Special values: nulland undefined ⦿ undefined : has not been declared, does not exist ⦿ null : exists, but was specifically assigned an empty or null value ⦿ Why does JavaScript have both? 23 var ned = null; var benson = 9; // at this point in the code, // ned is null // benson's 9 // caroline is undefined JS
  • 24.
    Logical operators ⦿ >< >= <= && || ! == != === !== ⦿ most logical operators automatically convert types: ⌾ 5 < "7" is true ⌾ 42 == 42.0 is true ⌾ "5.0" == 5 is true ⦿ === and !== are strict equality tests; checks both type and value ⌾ "5.0" === 5 is false 24
  • 25.
    if/else statement (sameas Java) ⦿ identical structure to Java's if/else statement ⦿ JavaScript allows almost anything as a condition 25 if (condition) { statements; } else if (condition) { statements; } else { statements; } JS
  • 26.
    for loop (sameas Java) 26 var sum = 0; for (var i = 0; i < 100; i++) { sum = sum + i; } JS var s1 = "hello"; var s2 = ""; for (var i = 0; i < s.length; i++) { s2 += s1.charAt(i) + s1.charAt(i); } // s2 stores "hheelllloo" JS
  • 27.
    while loops (sameas Java) 27 ⦿ break and continue keywords also behave as in Java while (condition) { statements; } JS do { statements; } while (condition); JS
  • 28.
    Popup boxes 28 alert("message"); //message confirm("message"); // returns true or false prompt("message"); // returns user input string JS
  • 29.
    Arrays 29 var name =[]; // empty array var name = [value, value, ..., value]; // pre-filled name[index] = value; // store element JS var ducks = ["Huey", "Dewey", "Louie"]; var stooges = []; // stooges.length is 0 stooges[0] = "Larry"; // stooges.length is 1 stooges[1] = "Moe"; // stooges.length is 2 stooges[4] = "Curly"; // stooges.length is 5 stooges[4] = "Shemp"; // stooges.length is 5 JS
  • 30.
    Array methods 30 ⦿ arrayserves as many data structures: list, queue, stack, ... ⦿ methods: concat, join, pop, push, reverse, shift, slice, sort, splice, toString, unshift ⌾ push and pop add / remove from back ⌾ unshift and shift add / remove from front ⌾ shift and pop return the element that is removed var a = ["Stef", "Jason"]; // Stef, Jason a.push("Brian"); // Stef, Jason, Brian a.unshift("Kelly"); // Kelly, Stef, Jason, Brian a.pop(); // Kelly, Stef, Jason a.shift(); // Stef, Jason a.sort(); // Jason, Stef JS
  • 31.
    String type 31 ⦿ methods:charAt, charCodeAt, fromCharCode, indexOf, lastIndexOf, replace, split, substring, toLowerCase, toUpperCase ⌾ charAt returns a one-letter String (there is no char type) ⦿ length property (not a method as in Java) ⦿ Strings can be specified with "" or '' ⦿ concatenation with + : ⌾ 1 + 1 is 2, but "1" + 1 is "11" var s = "Connie Client"; var fName = s.substring(0, s.indexOf(" ")); // "Connie" var len = s.length; // 13 var s2 = 'Melvin Merchant'; JS
  • 32.
    JavaScript functions ⦿ theabove could be the contents of example.js linked to our HTML page ⦿ statements placed into functions can be evaluated in response to user events 32 function name() { statement ; statement ; ... statement ; } JS function myFunction() { alert("Hello!"); alert("How are you?"); } JS
  • 33.
    THANKS! Any questions? You canfind me at: ⦿ facebook.com/rjd.agustin ⦿ rjdagustin@tsu.edu.ph 33