Tuesday 13 August 2013

Interview question on Javascript

1. Difference between window.onload and onDocumentReady?

The onload event does not fire until every last piece of the page is loaded, this includes css and images, which means there’s a huge delay before any code is executed.
That isnt what we want. We just want to wait until the DOM is loaded and is able to be manipulated. onDocumentReady allows the programmer to do that.

2. What is the difference between == and === ?

The == checks for value equality, but === checks for both type and value.

3. What does “1″+2+4 evaluate to? What about 5 + 4 + “3″?

Since 1 is a string, everything is a string, so the result is 124. In the second case, its 93.

4. What is the difference between undefined value and null value?

undefined means a variable has been declared but has not yet been assigned a value. On the other hand, null is an assignment value. It can be assigned to a variable as a representation of no value.
Also, undefined and null are two distinct types: undefined is a type itself (undefined) while null is an object.
Unassigned variables are initialized by JavaScript with a default value of undefined. JavaScript never sets a value to null. That must be done programmatically.

5. How do you change the style/class on any element?

document.getElementById(“myText”).style.fontSize = “20″;
-or-
document.getElementById(“myText”).className = “anyclass”;

6. What are Javascript closures?When would you use them?

Two one sentence summaries:

* a closure is the local variables for a function – kept alive after the function has returned, or
* a closure is a stack-frame which is not deallocated when the function returns.

A closure takes place when a function creates an environment that binds local variables to it in such a way that they are kept alive after the function has returned. A closure is a special kind of object that combines two things: a function, and any local variables that were in-scope at the time that the closure was created.

The following code returns a reference to a function:

function sayHello2(name) {
var text = ‘Hello ‘ + name; // local variable
var sayAlert = function() { alert(text); }
return sayAlert;
}

Closures reduce the need to pass state around the application. The inner function has access to the variables in the outer function so there is no need to store the information somewhere that the inner function can get it.

This is important when the inner function will be called after the outer function has exited. The most common example of this is when the inner function is being used to handle an event. In this case you get no control over the arguments that are passed to the function so using a closure to keep track of state can be very convenient.

7. What is unobtrusive javascript? How to add behavior to an element using javascript?

Unobtrusive Javascript refers to the argument that the purpose of markup is to describe a document’s structure, not its programmatic behavior and that combining the two negatively impacts a site’s maintainability. Inline event handlers are harder to use and maintain, when one needs to set several events on a single element or when one is using event delegation.

<input type="text" name="date" />
Say an input field with the name “date” had to be validated at runtime:

document.getElementsByName("date")[0].
                   addEventListener("change", validateDate, false);

function validateDate(){
// Do something when the content of the 'input' element with the name
Although there are some browser inconsistencies with the above code, so programmers usually go with a javascript library such as JQuery or YUI to attach behavior to an element like above.

8.  What is Javascript namespacing? How and where is it used?

Using global variables in Javascript is evil and a bad practice. That being said, namespacing is used to bundle up all your functionality using a unique name. In JavaScript, a namespace is really just an object that you’ve attached all further methods, properties and objects. It promotes modularity and code reuse in the application.

9.  What datatypes are supported in Javascript?
Number, String, Undefined, null, Boolean

10. What is the difference between innerHTML and append() in JavaScript?

InnerHTML is not standard, and its a String. The DOM is not, and although innerHTML is faster and less verbose, its better to use the DOM methods like appendChild(), firstChild.nodeValue, etc to alter innerHTML content.
Java script
Jscript
It is developed by Netscape communications
It is developed by Microsoft. It runs in Internet Explorer. It has the access to different objects that are exposed by the browser. ActiveXObject is one such object
It is a scripting language. Netscape navigator interprets javascript embedded into web pages.
It is a scripting language
It is used to for developing web applications
It is designed to create active online content
It is not dependent on Sun Microsystem’s java language.
ActiveX controls, java programs, etc can be linked and automated in the web pages using Jscript

client side javascript vs server side javascript
Client side java script
Server side javascript
It comprises the basic language and predefined objects which are relevant to running java script in a browser
Server side java script slso resembles like client side java script.
It is embedded directly by in the HTML pages.
The server side java scripts are deployed only after compilation
This script is interpreted by the browser at run time
It has relevant java script which is to run in a server.
Enables web pages on browsers to run active online content
It is javascript that enables back-end access to databases, file systems, and servers

Where are cookies actually stored on the hard disk?
This depends on the user's browser and OS.

In the case of Netscape on Windows OS, its stored in cookies.txt
In Internet Explorer, each cookie is stored in a file and has is named as username@website.txt.

The path is :
c:\Program Files\Netscape\Users\username\cookies.txt
The Internet Explorer stores the cookies on a file by name username@website.txt is
c:\Windows\Cookies\username@Website.txt 

What is the difference between a web-garden and a web-farm?

The term ‘Web Farm’ indicates a business that performs Web site hosting on multiple servers.
The term ‘Web Garden’ means a multi-processor machine.

Difference between SessionState and ViewState

Sessionstate
Viewstate
It is a state of a page within a browser wherein the values of controls persist when post back operation is done.
SessionState is the data of a user session and is maintained on the server side. This data available until user closes the browser or session time-outs.

How to Accessing Elements using javascript?

Following are some of the functions with which the elements can be retrieved:
getElementById()
getElementByName()
getElementByValue()
getElementByTag()

What is the difference between undefined value and null value?

Undefined value: A value that is not defined and has no keyword is known as undefined value. For example in the declaration, int number; the number has undefined value.
Null value: A value that is explicitly specified by the key word ‘null’ is known as null value. For example in the declaration, String str=null; the str has a null value. The keyword ‘null’ is used here.

How to set the cursor to wait in JavaScript?

<html>
<div style="width: 100px; height: 100px; background: yellow; cursor: wait">
A moue over this yellow patch will show you the wait cursor.
</div>
</html>

No comments:

Post a Comment