JavaScript CS 4640 Programming Languages for Web Applications

Similar documents
JavaScript CS 4640 Programming Languages for Web Applications

Client-Side Web Technologies. JavaScript Part I

CSC Web Programming. Introduction to JavaScript

JavaScript: The Basics

JavaScript. History. Adding JavaScript to a page. CS144: Web Applications

CGS 3066: Spring 2015 JavaScript Reference

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)

JavaScript. History. Adding JavaScript to a page. CS144: Web Applications

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)

COMS 469: Interactive Media II

Outline. Introduction to JavaScript Resources What is JavaScript? JavaScript in web pages

Basics of JavaScript. Last Week. Needs for Programming Capability. Browser as Development Platform. Using Client-side JavaScript. Origin of JavaScript

JavaScript Functions, Objects and Array

COMP284 Scripting Languages Lecture 14: JavaScript (Part 1) Handouts

Working with JavaScript

A.A. 2008/09. Why introduce JavaScript. G. Cecchetti Internet Software Technologies

COMP519 Web Programming Lecture 12: JavaScript (Part 3) Handouts

The course is supplemented by numerous hands-on labs that help attendees reinforce their theoretical knowledge of the learned material.

Lecture 3: The Basics of JavaScript. Background. Needs for Programming Capability. Origin of JavaScript. Using Client-side JavaScript

JavaScript. The Bad Parts. Patrick Behr

JavaScript Basics. The Big Picture

INF5750. Introduction to JavaScript and Node.js

Such JavaScript Very Wow

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology

E ECMAScript, 21 elements collection, HTML, 30 31, 31. Index 161

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p.

CHAD Language Reference Manual

Client vs Server Scripting

UNIT -II. Language-History and Versions Introduction JavaScript in Perspective-

Background. Javascript is not related to Java in anyway other than trying to get some free publicity

Web Site Design and Development JavaScript

JavaScript: Introduction, Types

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

5. Strict mode use strict ; 6. Statement without semicolon, with semicolon 7. Keywords 8. Variables var keyword and global scope variable 9.

Chapter 2 Working with Data Types and Operators

The JavaScript Language

JScript Reference. Contents

710 Index Attributes, 127 action attribute, 263 assigning, bottom attribute, domain name attribute, 481 expiration date attribute, 480 8

FALL 2017 CS 498RK JAVASCRIPT. Fashionable and Functional!

Chapter 4 Basics of JavaScript

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University

Web Programming and Design. MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh

JavaScript. Training Offer for JavaScript Introduction JavaScript. JavaScript Objects

JavaScript Lecture 1

JavaScript Specialist v2.0 Exam 1D0-735

\n is used in a string to indicate the newline character. An expression produces data. The simplest expression

JavaScript I Language Basics

CSCE 120: Learning To Code

JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK

3 The Building Blocks: Data Types, Literals, and Variables

PHP by Pearson Education, Inc. All Rights Reserved.

Programming language components

HTML5 and CSS3 More JavaScript Page 1

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

JavaScript: Sort of a Big Deal,

COMP519 Web Programming Lecture 11: JavaScript (Part 2) Handouts

Web Application Development

Visual C# Instructor s Manual Table of Contents

JAVASCRIPT. sarojpandey.com.np/iroz. JavaScript

CS1520 Recitation Week 2

CS312: Programming Languages. Lecture 21: JavaScript

INFS 2150 Introduction to Web Development and e-commerce Technology. Programming with JavaScript

Objectives. Introduction to JavaScript. Introduction to JavaScript INFS Peter Y. Wu, RMU 1

PHPoC vs PHP > Overview. Overview

Lecture 8 (7.5?): Javascript

Why Discuss JavaScript? CS312: Programming Languages. Lecture 21: JavaScript. JavaScript Target. What s a Scripting Language?

Chapter 12 Variables and Operators

MatchaScript: Language Reference Manual Programming Languages & Translators Spring 2017

Javascript. UNIVERSITY OF MASSACHUSETTS AMHERST CMPSCI 120 Fall 2010

CS558 Programming Languages

Web Development. with Bootstrap, PHP & WordPress

5/19/2015. Objectives. JavaScript, Sixth Edition. Introduction to the World Wide Web (cont d.) Introduction to the World Wide Web

Chapter 12 Variables and Operators

Produced by. App Development & Modelling. BSc in Applied Computing. Eamonn de Leastar

What is PHP? [1] Figure 1 [1]

JAVASCRIPT BASICS. Type-Conversion in JavaScript. Type conversion or typecasting is one of the very important concept in

Chapter 3 - Simple JavaScript - Programming Basics. Lesson 1 - JavaScript: What is it and what does it look like?

welcome to BOILERCAMP HOW TO WEB DEV

SECTION II: LANGUAGE BASICS

a Very Short Introduction to AngularJS

Chapter 12 Variables and Operators

Chapter 1 Summary. Chapter 2 Summary. end of a string, in which case the string can span multiple lines.

Tutorial 10: Programming with JavaScript

jquery with Fundamentals of JavaScript Training

JavaScript: Introductionto Scripting

Comprehensive AngularJS Programming (5 Days)

The Warhol Language Reference Manual

COMS 469: Interactive Media II

Session 6. JavaScript Part 1. Reading

What is Java Script? Writing to The HTML Document. What Can JavaScript do? CMPT 165: Java Script

Java Primer 1: Types, Classes and Operators

Node.js Training JavaScript. Richard richardrodger.com

GO - OPERATORS. This tutorial will explain the arithmetic, relational, logical, bitwise, assignment and other operators one by one.

COMP284 Scripting Languages Lecture 15: JavaScript (Part 2) Handouts

Programming for the Web with PHP

PHP: The Basics CISC 282. October 18, Approach Thus Far

Midterm Exam. 5. What is the character - (minus) used for in JavaScript? Give as many answers as you can.

PHPoC. PHPoC vs PHP. Version 1.1. Sollae Systems Co., Ttd. PHPoC Forum: Homepage:

CHIL CSS HTML Integrated Language

JAVASCRIPT MOCK TEST JAVASCRIPT MOCK TEST I

Transcription:

JavaScript CS 4640 Programming Languages for Web Applications 1

How HTML, CSS, and JS Fit Together <html> {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation layer The CSS enhances the HTML page with rules that state how the HTML content is presented Behavior layer The JS controls how the page behaves, adding interactivity 2

JavaScript: Some History JavaScript was introduced as part of the Netscape 2.0 browser Microsoft soon released its own version called Jscript ECMA developed a standard language known as ECMAScript ECMAScript Edition 6 is widely supported and is what is commonly called JavaScript JavaScript = ECMAScript + DOM API Language specification Communication with HTML ES1 ES2 ES3 AJAX JQuery ES5 ES6 ES7 JavaScript 1.0 3

JavaScript is not Java JavaScript JavaScript is a scripting language : Embedded in HTML Interpreted as the page is loaded Can manipulate the HTML page JavaScript Core Client side Server side Primary purpose is for client-end processing of HTML documents Netscape s Livewire, first server-side JS engine, allows JS to be used for form processing on the server We will not discuss server side JS No type checking 4

JavaScript Characteristics JavaScript does not need to be compiled JS is an interpreted language A JS interpreter is software that runs inside a browser that reads and executes JavaScript Interpreted vs. compiled languages : Advantage : simplicity Disadvantages : efficiency, maintainability, scalability, reliability 5

Why and Why Not JavaScript? What can be done with JS on the client and cannot be done with other techniques on the server? Monitor user events and take action Some dynamic effects What can be done on both client and server, but are better with JS? Build HTML dynamically when page is loaded Interactive web pages Communicate with the server asynchronously (Ajax) What are the drawbacks of JS? Platform dependent Can be turned off Performance Security Hard to write reliable and maintainable JS 6

Embedding JS in HTML Use the <script> tag to embed JS code in <head> or <body> Functions and code that may execute multiple times are typically placed in the <head> section These are only interpreted when the relevant function or eventhandler are called Code that needs to be executed only once, when the document is first loaded is placed in the <body> section 7

Embedding JS in HTML JS code may be written in a separate file. The external file can be included in an HTML file using the src attribute of a <script> tag JS code is visible in the client browser Do not hardcode anything that you don t want the client to see 8

Script Calls Some script calls may be embedded in the HTML tags or Script is evaluated once encountered by browser [ Will revisit this when we discuss functions ] 9

First Example [see jex1.html] 10

Variables Variables are loosely typed Type is determined dynamically based on the value stored The typeof operator can be used to check type of a variable Declarations are made using the var keyword Variables declared but not initialized have the value undefined Variables used and not declared or initialized have value Null Names start with letters, $, or _ followed by any sequence of letters, $, _, or digits Case sensitive 11

Variables Variable is a container that hold things for later use String Number Undefined Null Objects (including arrays) Symbols Functions 12

Variables Loose typing means that JS figures out the type based on the value Variables have block scope. Declarations outside of any function are global Declarations within a function are local to that function 13

Expressions If operator is + and an operand is string, it treats the + as a string concatenation operator and coerce other operand to string If operator is arithmetic, and string value can be coerced to a number, it will do so If string is non-numeric, result is NaN (NotaNumber) String can be explicitly converted to a number using parseint and parsefloat [see jex2.html] 14

Using Arithmetic Operators Let s initialize, y = 4 Operator Description Example Resulting x + Addition x = y + 5 9 x = y + 5 45 x = Four + y + 4 Four44 - Subtraction x = y - 2 2 ++ Increment x = y++ 4 x = ++y 5 -- Decrement x = y-- 4 x = --y 3 * Multiplication x = y * 4 16 / Division x = 10 / y 2.5 % Modulo x = y % 3 1 15

Using Assignment Operators Let s initialize, x = 10 Operator Example Equivalent arithmetic operators Resulting x = x = 5 x = 5 5 += x += 5 x = x + 5 15 -= x -= 5 x = x - 5 5 *= x *= 5 x = x * 5 50 /= x /= 5 x = x / 5 2 %= x %= 5 x = x % 5 0 16

Applying Comparison and Conditional operators Let s initialize, x = 10 Operator Description Example Result == Equal to (value only) x == 8 false x == 10 true === Equal to (value and type) x === 10 true x === 10 false!= Not equal (value only) x!= 5 true!== Not equal (value and type) x!== 10 true x!== 10 false > Greater than x > 5 true >= Greater than or equal to x >= 10 true < Less than x < 5 false <= Less than or equal to x <= 10 true 17

Chaining Multiple Comparisons with Logical Operators Let s initialize, x = 10 and y = 5 Operator Description Example Result && And (x == 10 && y == 5) true (x == 10 && y > x) false Or (x >= 10 y > x) true (x < 10 && y > x) false! Not!(x == y) true!(x > y) false Mix (x >= 10 && y < x x == y) true ((x < y x >= 10) && y >= 5) true (!(x == y) && y >= 10) false 18

Control Structures (if Statement) 19

Control Structures (switch Statement) 20

Looping (while Loop) 21

Looping (do-while Loop) 22

Looping (for Loop) 23

Looping (for-in Loop) 24

Array Objects More relaxed version of Java arrays Size can be changed and data can be mixed Cannot use arbitrary keys as with PHP arrays - index Creating arrays Using the new operator and a constructor (Array) with multiple arguments Using the new operator and a constructor (Array) with a single numeric argument, assigned the size of array Using square brackets to make a literal 25

Array Predefined Operations Concat two arrays into one copies to end Join array items into a single string (commas between) Push, pop, shift, unshift easy implementation of stacks and queues Push and pop are a right stack add/remove from end Shift and unshift are a left stack add/remove from beginning queue Sort Sort by default compares using alphabetical order To sort using numbers we pass in a comparison function defining how the numbers will be compared Reverse the items in an array [see jex4.html] 26

What s Next Functions Objects and methods Browser Object Model (BOM) Document Object Model (DOM) 27