Javascript Questions and Answers has been designed with a special intention of helping students and professionals preparing for various Certification Exams and Job Interviews.
This section provides a useful collection of sample Interview Questions
and Multiple Choice Questions (MCQs) and their answers with
appropriate explanations.
Labels
.
Search Your Article
Total Pageviews
Thursday, February 23, 2017
JavaScript - Quick Guide
JavaScript - Overview
What is JavaScript ?
Javascript is a dynamic computer programming language. It is lightweight and most commonly used as a part of web pages, whose implementations allow client-side script to interact with the user and make dynamic pages. It is an interpreted programming language with object-oriented capabilities.JavaScript Built-in Functions
Number Methods
The Number object contains only the default methods that are part of every object's definition.Method | Description |
---|---|
constructor() | Returns the function that created this object's instance. By default this is the Number object. |
Definitive Resources & Frameworks
If you want to list down your website, book or any other resource on
this page then please contact at webmaster@tutorialspoint.com
- ECMAScript - Official website for ECMAScript. Learn about the ECMAScript language and discover the ECMAScript community.
JasmineJS - Overview
Jasmine is an open-source JavaScript framework, capable of testing
any kind of JavaScript application. Jasmine follows Behavior Driven
Development (BDD) procedure to ensure that each line of JavaScript
statement is properly unit tested. By following BDD procedure, Jasmine
provides a small syntax to test the smallest unit of the entire
application instead of testing it as a whole.
JasmineJS - Environment Setup
In this chapter, we will discuss the step-by-step procedure of how to set up a Jasmine based BDD testing application.
Step 1 − Go to the official website of jasmine http://jasmine.github.io/
Step 1 − Go to the official website of jasmine http://jasmine.github.io/
JasmineJS - Writing Text & Execution
In this chapter, we will create a hello world app which will test our “helloworld.js”
file. Before developing the hello world app, go back to the previous
chapter and make sure that your environment is ready to be tested using
Jasmine.
JasmineJS - BDD Architecture
Jasmine follows the Behavioral Driven Development (BDD) framework.
Before learning the working principle of Jasmine, let us know what is
the BDD framework.
The following flowchart depicts the different phases of BDD framework.
The following flowchart depicts the different phases of BDD framework.
JasmineJS - Building Blocks of Test
In this chapter, we will discuss the building blocks of test by Jasmine.
Suite Block
Jasmine is a testing framework for JavaScript. Suite is the basic building block of Jasmine framework. The collection of similar type test cases written for a specific file or function is known as one suite. It contains two other blocks, one is “Describe()” and another one is “It()”.JasmineJS - Matchers
Jasmine is a testing framework, hence it always aims to compare the
result of the JavaScript file or function with the expected result.
Matcher works similarly in Jasmine framework.
Matchers are the JavaScript function that does a Boolean comparison between an actual output and an expected output. There are two type of matchers Inbuilt matcher and Custom matchers.
Matchers are the JavaScript function that does a Boolean comparison between an actual output and an expected output. There are two type of matchers Inbuilt matcher and Custom matchers.
JasmineJS - Skip Block
Jasmine also allows the developers to skip one or more than one test cases. These techniques can be applied at the Spec level or the Suite level. Depending on the level of application, this block can be called as a Skipping Spec and Skipping Suite respectively.
JasmineJS - Equality Check
Jasmine provides plenty of methods which help us check the equality of any JavaScript function and file. Following are some examples to check equality conditions.
JasmineJS - Boolean Check
Apart from equality check, Jasmine provides some methods to check
Boolean conditions too. Following are the methods that help us check
Boolean conditions.
JasmineJS - Sequential Check
Jasmine also provides different methods to provide sequentiality of the JS output. Following examples show how to implement sequential check using Jasmine.
JasmineJS - Null Check
Jasmine provides a different variety of method to check whether the actual output is Null, defined or undefined. In this chapter, we will learn how to implement different Jasmine methods to check the above-mentioned scenarios.
JasmineJS - Inequality Check
Till now, we have discussed different methods in Jasmine which help us test different scenarios based on our requirements. In this chapter, we will learn about different matchers that will help us check the inequality condition in JS file. Following are the matchers used for this purpose.
JasmineJS - Not a Number Check
Jasmine provides a special matcher to check this special type of testing scenario that is toBeNaN().
Let us modify our customerMatcher.js with the following code.
Let us modify our customerMatcher.js with the following code.
describe("Different Methods of Expect Block",function (){
JasmineJS - Exception Check
Apart from different computational matchers, Jasmine provides some useful matchers to check exception of the program. Let us modify our JavaScript with the following set of code.
var throwMeAnError = function() { throw new Error();
JasmineJS - beforeEach()
Another notable feature of Jasmine is before and after each function.
Using these two functionalities, we can execute some pieces of code
before and after execution of each spec. This functionality is very
useful for running the common code in the application. Let us create one
spec file like the following.
JasmineJS - afterEach()
Like beforeEach(), afterEach() works exactly the same way. It
executes after the execution of the spec block. Let us modify the
previous example using the following code.
var currentVal = 0;
JasmineJS - Spies
Jasmine spy is another functionality which does the exact same as its name specifies. It will allow you to spy on your application function calls. There are two types of spying technology available in Jasmine. The first methodology can be implemented by using spyOn() and the second methodology can be implemented using createSpy(). In this chapter, we will learn more about these two methodologies.
JasmineJS - Quick Guide
JasmineJS - Overview
Jasmine is an open-source JavaScript framework, capable of testing any kind of JavaScript application. Jasmine follows Behavior Driven Development (BDD) procedure to ensure that each line of JavaScript statement is properly unit tested. By following BDD procedure, Jasmine provides a small syntax to test the smallest unit of the entire application instead of testing it as a whole.JasmineJS - Useful Resources
The following resources contain additional information on JasmineJS. Please use them to get more in-depth knowledge on this.
Discuss JasmineJS
Jasmine is one of the most popular tools for a JavaScript developer
to deal with hectic testing process. It is an open source technology. It
is a simple API to test different components of JavaScript. This
tutorial discusses the basic functionalities of Jasmine.js along with
relevant examples for easy understanding.
HTTP - Overview
The Hypertext Transfer Protocol (HTTP) is an application-level
protocol for distributed, collaborative, hypermedia information systems.
This is the foundation for data communication for the World Wide Web
(i.e. internet) since 1990. HTTP is a generic and stateless protocol
which can be used for other purposes as well using extensions of its
request methods, error codes, and headers.
HTTP - Parameters
This chapter is going to list down few of the important HTTP Protocol
Parameters and their syntax the way they are used in the communication.
For example, format for date, format of URL, etc. This will help you in
constructing your request and response messages while writing HTTP
client or server programs.
HTTP - Messages
HTTP is based on the client-server architecture model and a
stateless request/response protocol that operates by exchanging messages
across a reliable TCP/IP connection.
An HTTP "client" is a program (Web browser or any other client) that establishes a connection to a server for the purpose of sending one or more HTTP request messages.
An HTTP "client" is a program (Web browser or any other client) that establishes a connection to a server for the purpose of sending one or more HTTP request messages.
HTTP - Requests
An HTTP client sends an HTTP request to a server in the form of a request message which includes following format:
- A Request-line
- Zero or more header (General|Request|Entity) fields followed by CRLF
HTTP - Responses
After receiving and interpreting a request message, a server responds with an HTTP response message:
- A Status-line
- Zero or more header (General|Response|Entity) fields followed by CRLF
- An empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header fields
HTTP - Methods
The set of common methods for HTTP/1.1 is defined below and this set
can be expanded based on requirements. These method names are case
sensitive and they must be used in uppercase.
HTTP - Status Codes
The Status-Code element in a server response, is a 3-digit integer
where the first digit of the Status-Code defines the class of response
and the last two digits do not have any categorization role. There are 5
values for the first digit:
HTTP - Header Fields
HTTP header fields provide required information about the request or
response, or about the object sent in the message body. There are four
types of HTTP message headers:
- General-header: These header fields have general applicability for both request and response messages.
HTTP - Caching
HTTP is typically used for distributed information systems, where
performance can be improved by the use of response caches. The HTTP/1.1
protocol includes a number of elements intended to make caching work.
The goal of caching in HTTP/1.1 is to eliminate the need to send requests in many cases, and to eliminate the need to send full responses in many other cases.
The goal of caching in HTTP/1.1 is to eliminate the need to send requests in many cases, and to eliminate the need to send full responses in many other cases.
HTTP - URL Encoding
HTTP URLs can only be sent over the Internet using the ASCII character-set, which often contain characters outside the ASCII set. So these unsafe characters must be replaced with a % followed by two hexadecimal digits.
HTTP - Security
HTTP is used for communications over the internet, so application
developers, information providers, and users should be aware of the
security limitations in HTTP/1.1. This discussion does not include
definitive solutions to the problems mentioned here but it does make
some suggestions for reducing security risks.
HTTP - Message Examples
Example 1
HTTP request to fetch hello.htm page from the web server running on tutorialspoint.com.Client request
GET /hello.htm HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.tutorialspoint.com Accept-Language: en-us Accept-Encoding: gzip, deflate Connection: Keep-Alive
HTTP - Quick Guide
The Hypertext Transfer Protocol (HTTP) is an application-level
protocol for distributed, collaborative, hypermedia information systems.
This is the foundation for data communication for the World Wide Web
(ie. internet) since 1990. HTTP is a generic and stateless protocol
which can be used for other purposes as well using extension of its
request methods, error codes and headers.
HTTP - Useful Resources
The following resources contain additional information on HTTP. Please use them to get more in-depth knowledge on this topic.
HTML5 - Overview
HTML5 is the next major revision of the HTML standard superseding
HTML 4.01, XHTML 1.0, and XHTML 1.1. HTML5 is a standard for structuring
and presenting content on the World Wide Web.
HTML5 is a cooperation between the World Wide Web Consortium (W3C) and the Web Hypertext Application Technology Working Group (WHATWG).
HTML5 is a cooperation between the World Wide Web Consortium (W3C) and the Web Hypertext Application Technology Working Group (WHATWG).
HTML5 - Syntax
The HTML 5 language has a "custom" HTML syntax that is compatible
with HTML 4 and XHTML1 documents published on the Web, but is not
compatible with the more esoteric SGML features of HTML 4.
HTML 5 does not have the same syntax rules as XHTML where we needed lower case tag names, quoting our attributes,an attribute had to have a value and to close all empty elements.
HTML 5 does not have the same syntax rules as XHTML where we needed lower case tag names, quoting our attributes,an attribute had to have a value and to close all empty elements.
HTML5 - Attributes
As explained in previous chapter, elements may contain attributes that are used to set various properties of an element.
Some attributes are defined globally and can be used on any element, while others are defined for specific elements only. All attributes have a name and a value and look like as shown below in the example.
Some attributes are defined globally and can be used on any element, while others are defined for specific elements only. All attributes have a name and a value and look like as shown below in the example.
HTML5 - Events
When a user visit your website, they do things like click on text and
images and given links, hover over things etc. These are examples of
what JavaScript calls events.
We can write our event handlers in Javascript or vbscript and you can specify these event handlers as a value of event tag attribute. The HTML5 specification defines various event attributes as listed below −
We can write our event handlers in Javascript or vbscript and you can specify these event handlers as a value of event tag attribute. The HTML5 specification defines various event attributes as listed below −
HTML5 - Web Forms 2.0
Web Forms 2.0 is an extension to the forms features found in HTML4.
Form elements and attributes in HTML5 provide a greater degree of
semantic mark-up than HTML4 and remove a great deal of the need for
tedious scripting and styling that was required in HTML4.
HTML5 - SVG
SVG stands for Scalable Vector Graphics and it
is a language for describing 2D-graphics and graphical applications in
XML and the XML is then rendered by an SVG viewer.
SVG is mostly useful for vector type diagrams like Pie charts, Two-dimensional graphs in an X,Y coordinate system etc.
SVG is mostly useful for vector type diagrams like Pie charts, Two-dimensional graphs in an X,Y coordinate system etc.
HTML5 - MathML
The HTML syntax of HTML5 allows for MathML elements to be used inside a document using <math>...</math> tags.
Most of the web browsers can display MathML tags. If your browser does not support MathML, then I would suggest you to use latest version of Firefox.
Most of the web browsers can display MathML tags. If your browser does not support MathML, then I would suggest you to use latest version of Firefox.
HTML5 - Web Storage
HTML5 introduces two mechanisms, similar to HTTP session cookies, for
storing structured data on the client side and to overcome following
drawbacks.
HTML5 - Web SQL Database
The Web SQL Database API isn't actually part of the HTML5
specification but it is a separate specification which introduces a set
of APIs to manipulate client-side databases using SQL.
I'm assuming you are a great web developer and if that is the case then no doubt, you would be well aware of SQL and RDBMS concepts.
I'm assuming you are a great web developer and if that is the case then no doubt, you would be well aware of SQL and RDBMS concepts.
HTML5 - Server Sent Events
Conventional web applications generate events which are dispatched to
the web server. For example a simple click on a link requests a new
page from the server.
The type of events which are flowing from web browser to the web server may be called client-sent events.
The type of events which are flowing from web browser to the web server may be called client-sent events.
HTML5 - WebSockets
Web Sockets is a next-generation bidirectional communication
technology for web applications which operates over a single socket and
is exposed via a JavaScript interface in HTML 5 compliant browsers.
Once you get a Web Socket connection with the web server, you can send data from browser to server by calling a send() method, and receive data from server to browser by an onmessage event handler.
Once you get a Web Socket connection with the web server, you can send data from browser to server by calling a send() method, and receive data from server to browser by an onmessage event handler.
HTML5 - Canvas
HTML5 element <canvas> gives you an easy and powerful way to
draw graphics using JavaScript. It can be used to draw graphs, make
photo compositions or do simple (and not so simple) animations.
Here is a simple <canvas> element which has only two specific attributes width and height plus all the core HTML5 attributes like id, name and class etc.
Here is a simple <canvas> element which has only two specific attributes width and height plus all the core HTML5 attributes like id, name and class etc.
HTML5 - Audio & Video
HTML5 features, include native audio and video support without the need for Flash.
The HTML5 <audio> and <video> tags make it simple to add media to a website. You need to set src attribute to identify the media source and include a controls attribute so the user can play and pause the media.
The HTML5 <audio> and <video> tags make it simple to add media to a website. You need to set src attribute to identify the media source and include a controls attribute so the user can play and pause the media.
HTML5 - Geolocation
HTML5 Geolocation API lets you share your location with your favorite
web sites. A Javascript can capture your latitude and longitude and can
be sent to backend web server and do fancy location-aware things like
finding local businesses or showing your location on a map.
HTML5 - Microdata
Microdata is a standardized way to provide additional semantics in your web pages.
Microdata lets you define your own customized elements and start embedding custom properties in your web pages. At a high level, microdata consists of a group of name-value pairs.
Microdata lets you define your own customized elements and start embedding custom properties in your web pages. At a high level, microdata consists of a group of name-value pairs.
HTML5 - Drag & drop
Drag and Drop (DnD) is powerful User Interface concept which makes it
easy to copy, reorder and deletion of items with the help of mouse
clicks. This allows the user to click and hold the mouse button down
over an element, drag it to another location, and release the mouse
button to drop the element there.
HTML5 - Web Workers
JavaScript was
designed to run in a single-threaded environment, meaning multiple
scripts cannot run at the same time. Consider a situation where you need
to handle UI events, query and process large amounts of API data, and
manipulate the DOM.
HTML5 - IndexedDB
The indexeddb is a new HTML5 concept to store the data inside user's
browser. indexeddb is more power than local storage and useful for
applications that requires to store large amount of the data. These
applications can run more efficiency and load faster.
HTML5 - Web messaging
Web Messaging is the way for documents to separates browsing context
to share the data without Dom. It overrides the cross domain
communication problem in different domains, protocols or ports.
For example you want to send the data from your page to ad container which is placed at iframe or voice-versa, in this scenario,Browser throws a security exception. With web messaging we can pass the data across as a message event.
For example you want to send the data from your page to ad container which is placed at iframe or voice-versa, in this scenario,Browser throws a security exception. With web messaging we can pass the data across as a message event.
HTML5 - CORS
Cross-origin resource sharing (CORS) is a mechanism to allows the restricted resources from another domain in web browser
For suppose, if you click on HTML5- video player in html5 demo sections. it will ask camera permission. if user allow the permission then only it will open the camera or else it doesn't open the camera for web applications
For suppose, if you click on HTML5- video player in html5 demo sections. it will ask camera permission. if user allow the permission then only it will open the camera or else it doesn't open the camera for web applications
HTML5 - Web RTC
Web RTC introduced by World Wide Web Consortium (W3C). That supports
browser-to-browser applications for voice calling, video chat, and P2P
file sharing.
If you want to try out? web RTC available for Chrome,opera,and firefox. A good place to start is the simple video chat application at here.Web RTC implements three API's as shown below −
If you want to try out? web RTC available for Chrome,opera,and firefox. A good place to start is the simple video chat application at here.Web RTC implements three API's as shown below −
HTML5 - Web Storage Demo's
Session Storage
The Session Storage is designed for scenarios where the user is carrying out a single transaction, but could be carrying out multiple transactions in different windows at the same time.HTML5 - Server Sent Events
Server Sent Events
It takes the updates from server and gives result on web browsers.Before take updates from server,browser would have to ask, if any updates were available in web servers.HTML5 - Web Canvas demo's
Canvas
HTML5 element <canvas> gives you an easy and powerful way to draw graphics using JavaScript. It can be used to draw graphs, make photo compositions or do simple (and not so simple) animations.HTML5 - Audio Player
HTML5 Local Audio Player with visualizer
HTML5 features, include native audio and video support without the need for Flash.Below code works based HTML,CSS and Java Script.You can drag and drop your local Mp3 files into the container.You can get source code at here
HTML5 - Video Player
HTML5 Local Video player
HTML5 features, include native video support without the need for Flash. Below player works based HTML, CSS and Java Script. You can drag and drop your local Video files into the container.You can get source code here
HTML5 - Geo-Location
HTML5 Location
HTML5 Geolocation API lets you share your location with your favourite web sites. A Javascript can capture your latitude and longitude and can be sent to backed web server and do fancy location-aware things like finding local businesses or showing your location on a map.HTML5 - Drag and Drop
HTML5 Drag and drop demo
Drag and Drop (DnD) is powerful User Interface concept which makes it easy to copy, reorder and deletion of items with the help of mouse clicks. This allows the user to click and hold the mouse button down over an element, drag it to another location, and release the mouse button to drop the element there.You can get source code at here
HTML5 - Web Workers
JavaScript was designed to run in a single-threaded environment,
meaning multiple scripts cannot run at the same time. Consider a
situation where you need to handle UI events, query and process large
amounts of API data, and manipulate the DOM.
You can get source code at here
You can get source code at here
HTML5 - Web Slide Desk
A slide is a single page of a presentation. Collectively, a group of slides may be known as a slide deck.
You can download source codehere
You can download source codehere
HTML5 - Modernizr
Modernizr is a small JavaScript Library that detects the availability of native implementations for next-generation web technologies
There are several new features which are being introduced through HTML5 and CSS3 but same time many browsers do not support these news features.
There are several new features which are being introduced through HTML5 and CSS3 but same time many browsers do not support these news features.
HTML5 - Validation
At the time of writing this tutorial HTML5 is very much in initial stage and there are only few validators available on the net.
But following two validators are very authentic and can be used −
But following two validators are very authentic and can be used −
HTML5 - Online Editor
You do not need to have your own environment to start learning C
programming! We have set up an online compiler for you that can be used
to compile and execute the programs online.
HTML5 - Color Code Builder
You need to decorate your HTML pages using different colors. HTML5
provides a vide range of attribute which can be used to set background
color, font color etc.
To use colors in your HTML5 pages you would need valid color codes. Following two tools would help you generate valid HTML5 color codes.
To use colors in your HTML5 pages you would need valid color codes. Following two tools would help you generate valid HTML5 color codes.
HTML5 - Quick Guide
HTML5 - Overview
HTML5 is the next major revision of the HTML standard superseding HTML 4.01, XHTML 1.0, and XHTML 1.1. HTML5 is a standard for structuring and presenting content on the World Wide Web.HTML5 is a cooperation between the World Wide Web Consortium (W3C) and the Web Hypertext Application Technology Working Group (WHATWG).
HTML5 - Color Names
The following table shows 16 color names that were introduced in HTML
3.2 to support 16 colors that 8-bit graphics cards offered −
HTML5 - Fonts Reference
Fonts are specific to platform. If you are using different OS then
you will have different look and feel of any web page. Here we are
giving a list of fonts which are available to various operating systems.
HTML <FONT> tag is deprecated in version 4.0 onwards and now all fonts are set by using CSS. Here is the simple syntax of setting font of a body of web page.
HTML <FONT> tag is deprecated in version 4.0 onwards and now all fonts are set by using CSS. Here is the simple syntax of setting font of a body of web page.
HTML5 - URL Encoding
URL encoding is the practice of translating unprintable characters or
characters with special meaning within URLs to a representation that is
unambiguous and universally accepted by web browsers and servers. These
characters include −
HTML5 - Entities Reference
Characters Entities in HTML5
Some characters are reserved in HTML5. For example, you cannot use the greater than and less than signs or angle brackets within your text because the browser could mistake them for markup.HTML5 processors must support the five special characters listed in the table that follows.
HTML5 - Character Encodings
A character encoding is a method of converting bytes into characters. To validate or display an HTML document, a program must choose a character encoding. HTML 5 authors have three means of setting the character encoding −
HTML5 Questions and Answers
HTML5 Questions and Answers has been designed with a special intention of helping students and professionals preparing for various Certification Exams and Job Interviews. This section provides a useful collection of sample Interview Questions and Multiple Choice Questions (MCQs) and their answers with appropriate explanations.
HTML5 - Tags Reference
A complete list of standard tags available in HTML5 is given below.
All the tags are ordered alphabetically along with an indication if they
have been introduced newly or they have been deprecated in HTML5.
HTML5 - Deprecated Tags & Attributes
Deprecated Tags
The following elements are not available in HTML5 anymore and their function is better handled by CSS −Tags (Elements) | Description |
---|---|
<acronym> | Defines an acronym |
<applet> | Defines an applet |
HTML5 - New Tags (Elements)
The following tags (elements) have been introduced in HTML5 −
Tags (Elements) | Description |
---|---|
<article> | Represents an independent piece of content of a document, such as a blog entry or newspaper article |
<aside > | Represents a piece of content that is only slightly related to the rest of the page. |
HTML5 - Useful Resources
The following resources contain additional information on HTML5. Please use them to get more in-depth knowledge on this topic.
Discuss HTML5
HTML5 is the latest and most enhanced version of HTML. Technically, HTML
is not a programming language, but rather a markup language.
Subscribe to:
Posts (Atom)