JavaScript: Getting Started

Similar documents
JavaScript: Functions

Java with Eclipse: Setup & Getting Started

jquery Ajax Support: Sending Data to the Server

File I/O in Java 7: A Very Quick Summary

Android Programming: Overview

The Google Web Toolkit (GWT):

Lambda-Related Methods Directly in Lists and Maps

For live Java EE training, please see training courses at

Setup and Getting Startedt Customized Java EE Training:

The Google Web Toolkit (GWT):

Ajax with PrimeFaces

Simplifying GWT RPC with

Rich Interfaces with jquery UI: Part 1 Setup and Basic Widgets

JSF: Introduction, Installation, and Setup

Object-Oriented Programming in Java: More Capabilities

The Prototype Framework Part III: Better OOP

Session 6. JavaScript Part 1. Reading

HBase Java Client API

The Google Web Toolkit (GWT): Extended GUI Widgets

Jakarta Struts: An MVC Framework

Session 16. JavaScript Part 1. Reading

JavaScript CS 4640 Programming Languages for Web Applications

The Spring Framework: Overview and Setup

Unit Testing with JUnit: A Very Brief Introduction

CSS Basics. Slides 2016 Marty Hall,

Client Side JavaScript and AJAX

The Google Web Toolkit (GWT): Handling History and Bookmarks

Basic Object-Oriented Programming in Java

Developed and taught by well-known Contact author and developer. At public for details venues or onsite at your location.

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1

ECLIPSE TUTORIAL HOW TO WRITE JAVA PROGRAM IN ECLIPSE STEP BY STEP ECLIPSE TUTORIAL FOR BEGINNERS JAVA

Generating the Server Response:

Course Material Usage Rules

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

When learning coding, be brave

Invoking Native Applications from Java

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

Scripting. Web Architecture and Information Management [./] Spring 2009 INFO (CCN 42509) Contents

jquery Ajax Support: Advanced Capabilities

JavaScript Fundamentals_

IGME-330. Rich Media Web Application Development I Week 1

,

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Java EE 6: Develop Web Applications with JSF

Managed Beans III Advanced Capabilities

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

webdriver selenium 08FE064A22BF82F5A04B63153DCF68BB Webdriver Selenium 1 / 6

JavaScript CS 4640 Programming Languages for Web Applications

State of jquery Fall John Resig

jquery and AJAX

INF5750. Introduction to JavaScript and Node.js

Custom Data Models and Cell Renderers

DOWNLOAD OR READ : JAVA EE 6 WEB COMPONENT DEVELOPER CERTIFIED EXPERT MARATHON 1Z0 899 PRACTICE PROBLEMS PDF EBOOK EPUB MOBI

Intents, Intent Filters, and Invoking Activities: Part I: Using Class Name

BEFORE CLASS. If you haven t already installed the Firebug extension for Firefox, download it now from

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

Javascript The Definitive Guide 5th Edition

Variables and Typing

Core Capabilities Part 3

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains an Individual and Group component

JDBC DEVELOPERS RESOURCE DATABASE PROGRAMMING ON THE INTERNET DOWNLOAD JDBC DEVELOPERS RESOURCE DATABASE PROGRAMMING ON

CGS 3066: Spring 2015 JavaScript Reference

JavaScript for PHP Developers

Android Programming A Step By Step Guide For Beginners Create Your Own Apps

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

Real World Java Ee Night Hacks Dissecting The Business Tier

Client-Side Web Technologies. JavaScript Part I

A demo Wakanda solution (containing a project) is provided with each chapter. To run a demo:

The Google Web Toolkit (GWT): Declarative Layout with UiBinder Advanced Topics

Getting started with Tabris.js Tutorial Ebook

Apache Pig coreservlets.com and Dima May coreservlets.com and Dima May

How to start with 3DHOP

JavaScript Enlightenment: From Library User To JavaScript Developer By Cody Lindley

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

CS312: Programming Languages. Lecture 21: JavaScript

Our trainings can be delivered as an Onsite Classroom Training or as an Instructor-Led Live Online Training(ILT).

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

ThingLink User Guide. Andy Chen Eric Ouyang Giovanni Tenorio Ashton Yon

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

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains 2 components

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

Section 1. How to use Brackets to develop JavaScript applications

JSF: The "h" Library Originals of Slides and Source Code for Examples:

Documents and computation. Introduction to JavaScript. JavaScript vs. Java Applet. Myths. JavaScript. Standard

How to Install (then Test) the NetBeans Bundle

Introduction to AngularJS

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

Course Material Usage Rules

(p t y) lt d. 1995/04149/07. Course List 2018

More reading: A series about real world projects that use JavaServer Faces:

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

Jakarta Struts: An MVC Framework

JavaScript Doesn't Have to Hurt: Techniques, Tools and Frameworks to Ease JavaScript Development

LAST WEEK ON IO LAB. Install Firebug and Greasemonkey. Complete the online skills assessment. Join the mailing list.

Using Applets as Front Ends to

Courses For Event Java Advanced Summer Training 2018

"a computer programming language commonly used to create interactive effects within web browsers." If actors and lines are the content/html......

Node.js. Node.js Overview. CS144: Web Applications

Web Site Design and Development JavaScript

AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED. Java TRAINING.

Transcription:

coreservlets.com custom onsite training JavaScript: Getting Started Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial section contains coreservlets.com custom onsite training For customized training related to JavaScript or Java, email hall@coreservlets.com Marty is also available for consulting and development support Taught by lead author of Core Servlets & JSP, co-author of Core JSF (4 th Ed), and this tutorial. Available at public venues, or custom versions can be held on-site at your organization. Courses developed and taught by Marty Hall JavaScript, jquery, Ext JS, JSF 2.3, PrimeFaces, Java 8 programming, Spring Framework, Spring MVC, Android, GWT, custom mix of topics Courses available in any state or country. Maryland/DC companies can also choose afternoon/evening courses. Courses Slides developed 2016 Marty and Hall, taught hall@coreservlets.com by coreservlets.com experts (edited by Marty) Hadoop, Hibernate/JPA, HTML5, RESTful Web Services For additional materials, please see http://www.coreservlets.com/. Contact hall@coreservlets.com The JavaScript tutorial for section details contains

Topics in This Section Intro Interactive JavaScript practice Variables Operators Functions: basics 4 coreservlets.com custom onsite training Intro Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial section contains

6 Overview of JavaScript Used primarily for Web pages (i.e., runs in browser) To make them more interactive To get updates from the server without reloading the page (Ajax) Use growing in contexts other than Web browsers Node.js for running JavaScript on server Mozilla Rhino for running JavaScript on desktop Simpler than most other programming languages (arguably) So a good starting point for beginning programmers Second-most popular language behind Java (arguably) So many jobs available Not closely related to Java Despite the similar-sounding names JavaScript Popularity: Job Postings http://www.indeed.com/jobtrends Y axis tracks percent of total job postings, not absolute numbers. So, for example, when all the curves go down, it is likely due to a stronger economy with many more teacher and construction jobs. Only the relative values are important.

JavaScript Popularity: Google Searches https://www.google.com/trends/ Google is deliberately vague about their y-axis scale, but other testing shows it is not absolute number of searches, but some sort of relative scale. JavaScript Popularity: PYPL Index http://pypl.github.io Note the logarithmic scale for the y axis. See sidebar at right for absolute numbers.

10 Books JavaScript the Definitive Guide By David Flanagan, O Reilly. The only really complete reference on the JavaScript language. JavaScript: The Good Parts By Douglas Crockford (of JSON and YUI fame), O Reilly Outstanding advanced guide to best practices in core JavaScript, especially functions, objects, and regular expressions. Very short. No coverage of Ajax or DOM scripting. The Effective Java of JavaScript. Professional JavaScript for Web Developers By Nicholas Zakas of Yahoo, Wrox. Good general intro to JavaScript, little Ajax coverage Pro JavaScript Techniques By John Resig (of jquery fame), Apress. Good guide to best practices; not a thorough reference JavaScript Cookbook By Shelley Powers, O Reilly. Gives good examples of many common techniques; not a thorough reference 11 Online References JavaScript tutorial (language syntax) https://developer.mozilla.org/en-us/docs/web/javascript http://www.w3schools.com/js/ JavaScript API references (builtin objects) http://www.w3schools.com/jsref/ http://www.devguru.com/technologies/ecmascript/quickref/ http://www.devguru.com/technologies/javascript/ http://www.javascriptkit.com/jsref/ https://developer.mozilla.org/en-us/docs/web/javascript/reference HTML DOM reference (with JavaScript Examples) http://www.w3schools.com/htmldom/dom_reference.asp Official ECMAScript specification http://www.ecma-international.org/publications/standards/ecma-262.htm

coreservlets.com custom onsite training Interactive JavaScript Practice Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial section contains 13 Firebug or Google Chrome Tools Install Firebug in Firefox http://getfirebug.com/ Use Firebug command line for interactive testing http://getfirebug.com/commandline More details on Firebug usage http://getfirebug.com/wiki/ Chrome development tools also good Many JavaScript developers say development tools for Google Chrome are now just as good as Firebug Other browsers catching up Firefox now has decent native JavaScript development and debugging tools Even Internet Explorer and Microsoft Edge now have reasonable tools

One Time Only: Configure Firebug Open Firebug Open simple HTML file, click Firebug icon or hit F-12, click Console tab Tell Firebug to open in separate window (optional) Click icon in top right of Firebug window Tell Firebug to use multi-line input editor (optional) Click icon in bottom right of Console window Tell Firebug to use vertical panels (optional) Click Firebug icon in top left Options Vertical Panels Enter JavaScript in bottom panel, click Run Results will be shown in the top panel 14 Configure Firebug: Details Open Firebug Open simple HTML file, click Firebug icon or hit F-12, click Console tab Enter JavaScript commands here, hit ENTER, and see results in the panel above. Or, follow configuration steps shown in next bullets to get larger input area. Tell Firebug to open in separate window (optional) Click icon in top right of Firebug window 15 If you are just going to be entering core JavaScript commands, it is more convenient to have a separate Firebug window as here. But, if you are going to enter JavaScript commands that affect the HTML in the page, it is more convenient to attach Firebug to the main window, as above.

Configure Firebug: Details Tell Firebug to use multi-line input editor (optional) Click icon in bottom right of Console window Enter JavaScript commands here, click Run at the top. See results here. Tell Firebug to use vertical panels (optional) Click Firebug icon in top left Options Vertical Panels Enter JavaScript commands here, click Run at the top. See results here. 16 17 Simplest JavaScript Practice: Use Firebug Directly Bring up Firebug Open Firefox on a Web page you wrote; sample page: <!DOCTYPE html><html> <head><title>testing JavaScript</title></head> <body> <h1>a Simple Page for Testing</h1> </body></html> Then click on Firebug logo or hit F12 Click on Console tab Enter commands at bottom and see results in main window Or, click arrow at bottom right to expand command line into larger editor region Chrome alternative is similar Bring up Chrome via Chrome menu, then More Tools Developer Tools, or via Control-Shift-J

18 More Powerful: Use script Tag with Firebug Make JavaScript file E.g., my-script.js Make HTML file in same folder E.g., my-page.html Have HTML file load the JavaScript file <!DOCTYPE html><html> <head><title>testing JavaScript</title> <script src="scripts/my-code.js"></script> </head><body></body></html> Practice Put function definitions in my-script.js Reload the HTML page in the browser every time you make changes Enter function calls in Firebug JavaScript Testing Problem Java: very strict compliance tests to be called Java You can have very high confidence that code written in Java 8 on Windows version will run identically (except for some differences in how GUIs look) on Java 8 on MacOS, Linux, Solaris, and other Windows versions. True for Java from Oracle, Apple, IBM, or open source version from Brazil. JavaScript: every browser vendor makes own version, with no outside checks Behavior of same JavaScript program can vary substantially from browser to browser, and even from one release of the same browser to another Consequence Before final deployment, you must test on all browsers you expect to support Most developers Do initial testing and development on either Chrome or Firefox But test also on Internet Explorer, Microsoft Edge, and Safari before final deployment 19

coreservlets.com custom onsite training Variables Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial section contains 21 Variables Introduce with var For global variables (!) and local variables. No var for function arguments You do not declare types Some people say JavaScript is untyped language, but technically it is dynamically typed language JavaScript is very liberal about converting types There are only two scopes Global scope Be very careful with this when using Ajax Can cause race conditions Function (lexical) scope There is not block scope as in Java

22 Variables: Examples var firstname = "Jane"; // String firstname; "Jane" var price = 23.7; // Number var isdiscounted = true; // Boolean var quarterlysales = [12, 18, 15, 9]; /* Array -- arrays are covered later */ var customer = { firstname: "Jane", lastname: "Doe" }; /* Object -- objects are covered later */ var x = 5; function square(x) { return(x * x); } x; 5 square(7); 49 x; 5 Variables: Firebug Examples

coreservlets.com custom onsite training Operators Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial section contains 25 Operators and Statements: Overview Almost same set of operators as Java + (addition and String concatenation), -, *, / &&,, ++, --, etc The == comparison is more akin to Java s equals The === operator (less used) is like Java s == Statements Semicolons are technically optional But highly recommended Consider return x return x They are not identical! The second one returns, then evaluates x. You should act as though semicolons are required as in Java. Comments Same as in Java (/* multiline comment */ and // single-line comment)

26 Mathematical Operators *, /, + Multiply, divide, add var x = 7; x * 2; 14 % Remainder var x = 7; x % 6; 1 ++ Increment (add one to) var x = 7; x; 7 x++; // Same as x = x + 1; x; 8 27 String and Boolean Operators + String concatenation; same operator as addition! var s = "Hello"; s = s + ", World"; s; "Hello, World"; == Test if equal var x = 7; x == 7; true x == 8; false <, >,!, &&,, etc. Less than test, greater than test, etc. Covered in the section on conditionals var x = 7; x < 8; true // At least one side is a String

coreservlets.com custom onsite training Functions: Basics Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial section contains Functions Quick summary now No types for the parameters Declare (global) functions with function Use return if you want return values Defining a function really just makes a variable whose value is a function > function square(x) { return(x * x); } > square(10); 100 > var f = square; // Not the same as var f = square(); > f(10) 100 More details later 29 Lots more detail on functions in upcoming section

30 Variable Scoping Global scope Variables that are known everywhere; rarely used in real life var x = 7; Function (lexical) scope Variables that are known only within a function; common in real life function(x) { } function() { var x = 7; } Usage Global-scope variables can be seen inside functions and on the outside Function-scope variables can be seen inside their own function but not on outside See interactive example Functions and Scoping: Examples

coreservlets.com custom onsite training Wrap-up Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial section contains 33 Summary Use Firebug or Chrome for practice, testing, and debugging Install Firebug from http://getfirebug.com/ Get a reference book JavaScript the Definitive Guide (Flanagan, O Reilly) Bookmark online references https://developer.mozilla.org/en-us/docs/web/javascript http://www.w3schools.com/js/ Load JavaScript file from Web page <script src="scripts/some-script.js"></script> Practice basic JavaScript syntax Declare local variables with var Use *, /, +, etc., and note + can be either addition or concatenation Declare functions with function

coreservlets.com custom onsite training Questions? More info: http://www.coreservlets.com/javascript-jquery-tutorial/ -- Tutorial on JavaScript, jquery, and jquery UI http://courses.coreservlets.com/course-materials/java.html General Java programming tutorial http://www.coreservlets.com/java-8-tutorial/ Java 8 tutorial http://courses.coreservlets.com/java-training.html Customized Java training courses, at public venues or onsite at your organization http://coreservlets.com/ JSF 2, PrimeFaces, Java 8, JavaScript, jquery, Ext JS, Hadoop, RESTful Web Services, Android, HTML5, Spring, Hibernate, Servlets, JSP, GWT, and other Java EE training Many additional free tutorials at coreservlets.com (JSF, Android, Ajax, Hadoop, and lots more) Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial section contains