JavaScript
JavaScript, or commonly abbreviated as ‘JS’ in the programming world is a scripting language which is used to dynamically create the webpages for a website. Although, it was originally developed to work as a Client-Side scripting language for web development, but with the passage of time, this language has gained popularity and now it is been extensively used as a server side programming language along with some other uses like creating desktop applications, making Android and IOS applications for smartphones etc. Developed by Brendan Eichin in 1995, today JavaScript has been listed as one of the tops 10 programming languages one should know to get a better growth for his career.
The course contents on JavaScript include:
Ø Introduction to JavaScript
Ø Working with Variables and Data in JavaScript
Ø Functions, Methods and Events in JavaScript
Ø Debugging and Troubleshooting JavaScript
Ø Controlling Program Flow in JavaScript
Ø The JavaScript Document Object Model (DOM)
Ø JavaScript Language Objects, etc.
At the end of this course, one will be provided with a Certification of Completion on JavaScript from Uplatz.
JavaScript
Course Content
Introduction to JavaScript
· Introduction to Scripting
· JavaScript Characteristics
· JavaScript and Common Programming Concepts
· JavaScript Flavors and Versions
· Technologies Based on JavaScript
· Server-Side vs. Client-Side Applications
· Annotating Your Code with Comments
· Expanding the Role of JavaScript
Working with Variables and Data in JavaScript
· Using JavaScript to Communicate with the User
· Using Data More Than Once: Variables
· JavaScript Operators
· JavaScript Expressions
· JavaScript Alerts and Prompts
· Inline Scripting, Simple User Events and Basic Event Handlers
· JavaScript Keywords and Reserved Words
Functions, Methods and Events in JavaScript
· Introduction to Functions
· Defining a Function
· Calling a Function
· Methods as Functions
· Types of Functions
· User Events and JavaScript Event Handlers
Debugging and Troubleshooting JavaScript
· What Is Debugging?
· Tools for Debugging Code
· Testing Code in Various Browsers
· Debugging Logic Errors
· JavaScript and Mobile Devices
Controlling Program Flow in JavaScript
· Controlling Decisional Program Flow
· The if...else Statement
· The while Statement
· The do...while Statement
· The for Statement
· The break Statement
· The continue Statement
· The switch Statement
The JavaScript Document Object Model (DOM)
· The JavaScript Document Object Model (DOM)
· The window Object
· The document Object
· The image Object
· The history Object
· The location Object
· The navigator Object
· The Virtual DOM
JavaScript Language Objects
· Introduction to JavaScript Language Objects
· The String Object
· Evaluating Strings
· JavaScript Regular Expressions
· The Array Object
· The for Each Method
· The Map Method
· The Date Object
· Setting and Extracting Time Information
· The Math Object
Custom JavaScript Objects
· Creating Custom Objects
· Creating a JavaScript Object: The Constructor
· Creating an Instance of a Custom Object
· Creating Object Methods
· Creating Functions for Your Objects
· Concept of Classes
· Iterators and Generators
· Call, apply and bind
Changing HTML on the Fly
· Changing HTML on the Fly
· Using the getElementById Method
· Using the getElementsByName Method
· Using the getElementsByTagName Method
· Using the getElementsByClassName Method
· Modifying Attributes within the DOM
· Appending Text to the DOM
Developing Interactive Forms with JavaScript
· Interactive Forms
· Overview of Form Elements
· Referring to Form Elements
· The form Object
· The input Elements and text Objects
· The textarea object
· The select Object
· Form Validation
· Common form Security Errors
JavaScript Security
· Introduction to JavaScript Security Issues
· Browser vs. Operating System
· Browser-Specific Security Issues
· Browser Compatibility and Client-Side Detection
· Script Blocking
· Differences in document.write Among Browsers
· Malicious and Accidental Coding
· Frame-to-Frame URL Changing
· Signed Scripts
· Cross-Site Scripting (XSS)
· Cookies and Security in JavaScript
<p style="text-indJavaScript Developer
--------------------------------------------------------------------------------------------
JavaScript Interview Questions
--------------------------------------------------------------------------------------------
Q1. What is the difference between Java & JavaScript?
Java |
JavaScript |
Java is an OOP programming language. |
JavaScript is an OOP scripting language. |
It creates applications that run in a virtual machine or browser. |
The code is run on a browser only. |
Java code needs to be compiled. |
JavaScript code are all in the form of text. |
Q2. What is JavaScript?
JavaScript is a lightweight, interpreted programming language with object-oriented capabilities that allows you to build interactivity into otherwise static HTML pages. The general-purpose core of the language has been embedded in Netscape, Internet Explorer, and other web browsers.
Q3. What are the data types supported by JavaScript?
The data types supported by JavaScript are:
• Undefined
• Null
• Boolean
• String
• Symbol
• Number
• Object
Q4. What are the features of JavaScript?
<img src="data:image/png;base64,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