CS3220 Web and Internet Programming JavaScript Basics

Slides:



Advertisements
Similar presentations
JavaScript I. JavaScript is an object oriented programming language used to add interactivity to web pages. Different from Java, even though bears some.
Advertisements

Introducing JavaScript
Intro to JavaScript. JavaScript History Client (generally browser-side) language invented at Netscape under the name LiveScript around 1995 Netscape wanted.
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
Java Script Session1 INTRODUCTION.
The Web Warrior Guide to Web Design Technologies
Javascript Client-side scripting. Up to now  We've seen a little about how to control  content with HTML  presentation with CSS  Javascript is a language.
Tutorial 10 Programming with JavaScript
Javascript II Expressions and Data Types. 2 JavaScript Review programs executed by the web browser programs embedded in a web page using the script element.
2012 •••••••••••••••••••••••••••••••••• Summer WorkShop Mostafa Badr
JAVASCRIPT Introduction Kenny Lam. What is Javascript?  Client-side scripting language that can manipulate elements in the DOM  Event-driven language.
4.1 JavaScript Introduction
JavaScript JavaScript is a scripting language that is most commonly used to add client- side programming to a web page. Some of the things it is used for.
1 JavaScript. 2 What’s wrong with JavaScript? A very powerful language, yet –Often hated –Browser inconsistencies –Misunderstood –Developers find it painful.
Javascript. Outline Introduction Fundamental of JavaScript Javascript events management DOM and Dynamic HTML (DHTML)
SE-2840 Dr. Mark L. Hornick 1 Modifying webpage behavior using client-side scripting Javascript.
CMPS 211 JavaScript Topic 1 JavaScript Syntax. 2Outline Goals and Objectives Goals and Objectives Chapter Headlines Chapter Headlines Introduction Introduction.
1 JavaScript in Context. Server-Side Programming.
Tutorial 10 Programming with JavaScript. XP Objectives Learn the history of JavaScript Create a script element Understand basic JavaScript syntax Write.
Tutorial 10 Programming with JavaScript
1 Lecture #6 Dynamic Web Documents HAIT Summer 2005 Shimrit Tzur-David.
Lecture 9 The Basics of JavaScript Boriana Koleva Room: C54
JavaScript Syntax and Semantics. Slide 2 Lecture Overview Core JavaScript Syntax (I will not review every nuance of the language)
4.4 JavaScript (JS) Deitel Ch. 7, 8, 9, JavaScript & Java: Similarities JS (JavaScript) is case-sensitive Operators –arithmetic: unary +, unary.
XP Tutorial 10New Perspectives on HTML and XHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial.
JavaScript Scripting language What is Scripting ? A scripting language, script language, or extension language is a programming language.
JavaScript History and Versions JavaScript was introduced as part of the Netscape 2.0 browser Microsoft soon released its own version called JScript ECMA.
4. Javascript M. Udin Harun Al Rasyid, S.Kom, Ph.D Lab Jaringan Komputer (C-307) Desain.
“The world’s most misunderstood language has become the world’s most popular programming language” Akshay Arora
1 Javascript CS , Spring What is Javascript ? Browser scripting language  Dynamic page creation  Interactive  Embedded into HTML pages.
Tutorial 10 Programming with JavaScript. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Learn the history of JavaScript.
Rich Internet Applications 2. Core JavaScript. The importance of JavaScript Many choices open to the developer for server-side Can choose server technology.
1 PHP Intro PHP Introduction After this lecture, you should be able to: Know the fundamental concepts of Web Scripting Languages in general, PHP in particular.
Tutorial 10 Programming with JavaScript. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Learn the history of JavaScript.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
Introduction to Javascript. What is javascript?  The most popular web scripting language in the world  Used to produce rich thin client web applications.
CGS 3066: Web Programming and Design Spring 2016 Introduction to JavaScript.
JavaScript and AJAX 2nd Edition Tutorial 1 Programming with JavaScript.
Javascript Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
CS520 Web Programming Introduction to Ajax and jQuery Chengyu Sun California State University, Los Angeles.
CGS 3066: Web Programming and Design Spring 2017
Web Technologies Computing Science Thompson Rivers University
JavaScript Introduction
“Under the hood”: Angry Birds Maze
Tutorial 10 Programming with JavaScript
Chapter 4 Client-Side Programming: the JavaScript Language
CS5220 Advanced Topics in Web Programming JavaScript and jQuery
Scope, Objects, Strings, Numbers
JavaScript Syntax and Semantics
JavaScript an introduction.
Web Systems Development (CSC-215)
WEB PROGRAMMING JavaScript.
PHP.
CS5220 Advanced Topics in Web Programming JavaScript Basics
Tutorial 10 Programming with JavaScript
CS5220 Advanced Topics in Web Programming Node.js Basics
CS3220 Web and Internet Programming Expression Language (EL)
CS5220 Advanced Topics in Web Programming Angular – TypeScript
Chengyu Sun California State University, Los Angeles
CS5220 Advanced Topics in Web Programming More Node.js
JavaScript CS 4640 Programming Languages for Web Applications
CS3220 Web and Internet Programming Expression Language (EL)
Chengyu Sun California State University, Los Angeles
Web Technologies Computing Science Thompson Rivers University
CS5220 Advanced Topics in Web Programming Angular – TypeScript
Chengyu Sun California State University, Los Angeles
CS3220 Web and Internet Programming JavaScript Basics
CS5220 Advanced Topics in Web Programming More Node.js
Chengyu Sun California State University, Los Angeles
JavaScript CS 4640 Programming Languages for Web Applications
Presentation transcript:

CS3220 Web and Internet Programming JavaScript Basics Chengyu Sun California State University, Los Angeles

The Alphabet Soup of CS3220 HTTP HTML XML CSS SERVLET JSP EL JSTL MVC SQL MYSQL JDBC JavaScript jQuery AJAX REST

Web Application Browser Application Server Client Server HTTP request Client-side program HTTP response input output Client Service-side program Server

Why Client-Side? Improve user experience Reduce server workload Interactive Responsive Reduce server workload Handle input events Implement as much functionality on the client-side as possible Hide the inevitable communication overhead from the user

Client-side Technologies HTML, CSS JavaScript Java Applet Rich Internet Application (RIA) technologies JavaFX Adobe Flex and Flash Microsoft Silverlight

About JavaScript Originally developed by Netscape Standardized as ECMAScript Three main variations: Client-side JavaScript, Node.js, and TypeScript Year Version 1997 1 2009 5 (ES5) 2015 6 (ES6 or ES 2015) 2016 7

Client-Side JavaScript JavaScript inside browser THE language for client-side web development ES5 and partially ES6 Browser objects like window and document; DOM jQuery

Node.js Standalone JavaScript Popular for server-side web development and used even for desktop applications Mostly ES6 (built on Chrome’s V8 JavaScript engine) Additional language features like a new runtime environment and support for modules Many libraries

TypeScript JavaScript with Type Makes JavaScript more suitable for large software projects Static type checking, improved tool support … ES6 and beyond (compiled to plain JavaScript) Used in Angular applications Type and more

Use Browser Console to Run JavaScript Developer Tools -> Console in Chrome, Firefox, and IE An interpreted language Clear console Reload page “Hello World” Example Some functions: console.log, alert, confirm, prompt

Elements of an Imperative Programming Language Comments Types Literals and Variables Operators and expressions Statements Functions Classes and Objects Packages

Elements of JavaScript Comments Types Literals and Variables Operators and expressions Statements Functions Classes and Objects Packages

Comments Single-line comment: // Block comment: /* */

Types Boolean Number String Null Undefined Object Primitive Types

Literals Boolean: true, false Number: 123, 4.56 String: "hello", 'world' Null and Undefined: null, undefined Object literal

Valid JavaScript Identifier Object Literal Valid JavaScript Identifier (Variable Name) { make: "Honda", model: "Civic", "Year": 2001, 'owner': { name: "Chengyu" } String or Number An object literal consists of zero or more property:value pairs

JSON (JavaScript Object Notation) Used as a data exchange format Based on a subset of JavaScript syntax String are double quoted Property name are strings { "make": "Honda", "model": "Civic", "year": 2001, "owner": { "name": "Chengyu" }

Access Object Property Valid JavaScript Identifier (Variable Name) There are no private properties in JavaScript String or Number console.log( obj.make ); console.log( obj["make"] ); obj[0] = 10; Properties can be dynamically added What if there’s a variable make??

Array a = ["x", "y", "z"]; a.b = "hello"; a[100] = 10; { 0:"x", 1:"y", 2:"z" } An array is a special object where array elements are stored as object properties An array may have “holes” (i.e. undefined elements) Array has built-in properties like length

Variables var x; // declare a variable x x = 10; // now x is a number x = 'abc';// now x is a string y = 20; // y is a global variable // (a property in the global object) JavaScript variables are dynamically typed (think of them as references instead of storage spaces)

Variable Scope var a = 10; b = 20; function foo() { var c = 0; for( i=1 ; i < 3 ; ++i ) c += i; return a + b + c; } foo(); // ?? console.log(a, b, c, i); // ??

Operators All Java operators, e.g. +, -, =, && … Strict equality/inequality: ===, !== === true if same type and same value Type operators: typeof, instanceof Object property operators: in, delete

Automatic Type Conversion 2 + 4/2 2 + 3/2 "2" + 3/2 3/2 + "2" 3/2 * "2" 3/2 + "two" 3/2 * "two" 0 == false 1 == true "" == false null == false undefined == false 0 == "" null == undefined Pros and cons of automatic type conversion??

Statements All Java statement, e.g. if, for, while, switch … Semicolon is optional but highly recommended

Functions as First-class Citizens In JavaScript, functions are actually objects Assigned to a variable Assigned as a property of an object Function literals (i.e. functions without names) Passed as a function argument Returned as a function result

Function Examples function foo() { Regular function alert(“foo”); } bar = function() { alert(“bar”); setTimeout( bar, 5000 ); setTimeout( function() { alert(“foobar”);}, 5000 ) Regular function declaration Function literal Function assignment Function as parameter Function literal as parameter

Function Arguments function add(x,y) { return x+y; } add(10,20); add("10","20"); add(10); add(10,20,30); A special variable arguments hold all the arguments to a function arguments is not an array but similar to an array, e.g. arguments.length, arguments[0], arguments[1], …

Function and Object Constructor Method A function invoked with the new keyword When invoked with new, the implicit parameter this is bound to a new object, and the function returns this object (unless there’s an explicit return statement) Method An object property that has a function value this in a method refers to the object the method is called on

Example: Constructor function Car( make, model, year ) { this.make = make; this.model = model; this.year = year; } var car1 = new Car("Honda", "Civic", 2016); var car2 = new Car("Ford", "F-150", 2017);

Creating Objects Creating single object Object literal new Object() – more verbose than using object literal Creating objects using constructor Creating objects from an existing object (i.e. prototype) using Object.create()

Example: Object.create() var car3 = Object.create(car1); console.log(car3.make); console.log(car3.model); console.log(car3); Prototype inheritance – an object inherits the properties of its prototype Like Object.prototype, Array.prototype …

Common JavaScript Functions IO functions, e.g. console.log, alert, confirm, prompt Array functions, e.g. push, pop, slice, concat, indexOf, forEach JSON functions JSON.stringify and JSON.parse …

Readings The Modern JavaScript Tutorial Eloquent JavaScript by Marijn Haverbeke MDN JavaScript Reference