Top JavaScript Interview Questions and Answers – Crack your Interview

Free Web development courses with real-time projects Start Now!!

Looking for the best guide on JavaScript interview questions? Forget all your worries, you have landed on the article that will cover all the frequently asked JavaScript interview questions for freshers and advanced learners. This interview preparation guide includes all the major concepts of JavaScript language that will help you to crack your JavaScript interview. The JavaScript interview questions explained below will primarily test your theoretical knowledge of the language.

Let’s start with some common JavaScript interview questions.

Latest JavaScript Interview Questions and Answers

We will quickly dive into the most asked JavaScript interview questions and answers.

Q 1. If a newbie to JavaScript asks you what it means, how will you explain the concept?

Ans. JavaScript is a client-side scripting language, understood by web browsers. It is an Object-based language and it is interpreted, not compiled. It adds dynamic content to the webpage, increasing user interactivity and making the page more responsive.

With the help of the computer language JavaScript, you may provide web pages liveliness and dynamic behaviour. It is mostly used for front-end web development and enables you to build interactive features, manage user interactions, and change information on web pages without having to reload the page.

Q 2. Are Java and JavaScript similar? Justify your statement.

Ans. Java and JavaScript are very different from each other. The only thing in common is that they both are the trademarks of Oracle Corporation. JavaScript received its name after Java because Java was very popular at the time of JavaScript release and Netscape decided that it will help JavaScript gain popularity if named so. Other than that, they have no similarity, not even in their syntax.

“Java is to JavaScript what Car is to Carpet”

– Chris Heilmann

Q 3. Are “==” and “===” operators different in JavaScript?

Ans. The Equality (==) operator only checks for the value stored in the data for equality. It doesn’t matter if JavaScript uses type conversion while checking the data.

The Identity/ Strict equality (===) operator returns true only if the data values are equal without type conversion.

Q 4. What is the difference between not defined and undefined variables?

Ans. Undeclared (not defined) variables are those, which are not declared i.e. they don’t exist in a program. If the program tries to read an undeclared variable, it confronts a ReferenceError.

Undefined variables are those, which are declared in the program, but don’t have any value yet. JavaScript is loosely-typed, so you don’t specify the type of information you want to store in the variable. Since the JavaScript interpreter has no idea of the type of data in the variable when asked, it returns undefined.

Note – The above JavaScript interview question is a bit confusing. Prepare it well.

Q 5. What are the different data types allowed in JavaScript?

Ans. The data types available in JavaScript include:

  • Number
  • BigInt
  • Boolean
  • String
  • Null
  • Undefined
  • Symbol
  • Object

Q 6. State the difference between null and undefined variable.

Ans. A JavaScript variable whose value is explicitly specified by the keyword “null” is a null-type variable.

A variable that is declared (exists) but not defined (no data type) in a program is undefined.

Q 7. Can you explain the difference between a window object and a document object?

Ans. A JavaScript window is a global object, holding variables, functions, history, location, location, etc. It depends on the browser used and the OS of the user.

The document object comes under the window object and can be considered as the property of the window. It contains all the data the browser needs to display as specified by the developer.

Q 8. What are escape characters in JavaScript? Why are they needed?

Ans. JavaScript allows you to print special characters (&, <>, “ ”, ‘ ’, etc.) in your browser without breaking your code. It uses escape characters in a program to do so since they help us use those characters that even JavaScript interpreter uses. These characters tell the interpreter that these characters are not part of the code and need to be printed as it is.

Q 9. Are JavaScript and JScript the same?

Ans. No, these two are similar but not the same. Netscape developed JavaScript and Microsoft made a clone of JavaScript and named it JScript. They designed JScript to execute on Internet Explorer and named it so to avoid trademark issues. (JavaScript is Oracle Corporation’s trademark.)

Q 10. How are JavaScript and ECMAScript related?

Ans. JavaScript is a programming language, used for web development, that conforms to the ECMAScript specifications. ECMAScript specification contains rules and guidelines that explain how to create a script and what you need to remember while doing so.

The most well-known and commonly used implementation of the ECMAScript specification is JavaScript. While JavaScript represents the language’s actual practical application in web development and other domains, ECMAScript serves as its standardisation and specification. As the ECMAScript standard develops, JavaScript changes too, adding new features and enhancing existing ones to expand its functionalities.

Q 11. Have you used any browser for debugging? If yes, then how it is done?

Ans. Yes, a Browser’s Console Window can easily debug the code since JavaScript is an interpreted language. We can test any code in the console and the JavaScript interpreter shows an error message specifying the type and location of the error.

Q 12. What will be the output of the following program? Justify your output.

function my data(){
    console.log("Hello DataFlair");
my data();

Ans. When the above code executes in the browser, we get a SyntaxError: Unexpected Identifier. This is because a function name (identifier) cannot have a space between its name. This syntax violates the rules of defining an identifier.

Q 13. Are the results of 6 + 4 + ‘45’ and 6 + 4 + 45 the same?

Ans. No, the results for the two statements are very different from each other. 6 + 4 + 45 gives the result 55, which is the expected answer for the addition of numbers. But, 6 + 4 + ‘45’ returns 1045 as a result. This is because 45 is a string and 6 and 4 are numbers. The presence of the string specifies that the + operator is a string operator for concatenation rather than an arithmetic operator.

Note – The above JavaScript interview question is very popular in JavaScript interviews. Practice it thoroughly.

Q 14. Explain the different popup boxes JavaScript provides and state the major difference between them.

Ans. JavaScript provides three popup boxes, namely alert boxes, prompt boxes, and confirmation boxes.

  • The alert() method shows an alert message that provides the user with some information with an OK button.
  • The confirm() method shows when the user needs to validate or accept something. You have two options, OK and Cancel, to select from.
  • The prompt() method provides the user with a text input area to enter data, along with two buttons: OK and Cancel.

Q 15. Explain Strict mode in JavaScript.

Ans. Any JavaScript program (function) that starts with the statement “use strict” uses the strict mode through the entire program (function). The strict mode generates silent errors and is stricter than normal mode JavaScript. This means that this mode points out more error messages in a program than usual for the statements that don’t confer with the rules of JavaScript.

Any queries in the JavaScript interview questions, till now? Mention them in the comment section.

Q 16. What are the downfalls of using innerHTML property in JavaScript?

Ans. The innerHTML property in JavaScript code has some security risks associated with it. This is because this property can easily add malicious code in your program. Another problem is that this property resets the previous markup along with the text. So you cannot retain the previous markup once you change the element content using this property.

Q 17. Will the two functions below return the same thing? Why or why not?

function fun1()
  return {
    Bar: 'hello'
function fun2()
    Bar: 'hello'

Ans. The above functions will not return the same thing. When you call these functions in your console window, fun1() returns {Bar: “hello”} while fun2() returns undefined. This is because JavaScript doesn’t require semicolon (;) and ends the statement when the script moves on to a new line in the program. This is why the second function returns no value and the interpreter skips the Bar: ‘hello’ block as it’s written after the return statement.

Note –  Aspirants generally commit mistakes in the above JavaScript interview question. Answer the question with full concentration during the interview.

Q 18. How can you hide JavaScript codes from old browsers that don’t support JavaScript?

Ans. You can do this by wrapping the whole JavaScript code in an HTML comment. This means that you start the script with an HTML comment, add a JavaScript comment and end the HTML comment at the end of the closing <script> tag in the following manner:

    //JavaScript code

Q 19. How can you delete an object property?

Ans. You can delete an object property with the help of dot notation. The syntax is as follows:

delete objectName.propertyName

Q 20. What is undefined x 1 in JavaScript?

Ans. This is Chrome’s way to display uninitialized indexes in an array. When an index of an array has no value stored or somehow the value was deleted, the array index has no data value.

Suppose I have an array arr = [1, 2, 3]. If I add any value at position 4, position 3 is left empty. When I display the array arr in Chrome’s developer console, I get the value: [1, 2, 3, undefined x 1, 5]. You might see other versions of this syntax like undefined, empty, etc. in other browser consoles. In undefined x 1, 1 indicates the number of consecutive undefined or empty values in the array.

Q 21. If the global and local variables have the same name, which one takes precedence over the other?

Ans. When global and local variables have the same name, the local variable gets precedence. When we access the variable, JavaScript interpreter will use the value of the local variable to perform its tasks.

Q 22. What is the role of a NaN in JavaScript?

Ans. NaN (Not-a-Number) is a property of a global object. This property is non-configurable and non-writable and we avoid overriding this property. The use of NaN is rare in a program but, we can use it to determine if the result we get is a number or not (using isNaN() method).

Q 23. Write the JavaScript code to validate email.

function validatPositione() 
  var x = document.getElementById(“email”); 
  var atPosition = x.indexOf("@"); 
  var dotPosition = x.lastIndexOf("."); 
  if (atPosition < 1 || dotPosition < atPosition + 2 || dotPosition + 2 >= x.length){ 
    alert("This is not a valid e-mail address"); 
    return false; 

Q 24. Explain the use of the ‘debugger ’ keyword in JavaScript.

Ans. A debugger statement (a statement containing the debugger keyword) stops the execution of a JavaScript program and calls the debugging function, if available. The code will not run if debugging is disabled. This statement functions in the same manner as setting a breakpoint in the code. You can activate debugging with the help of your console window.

Q 25. What are the advantages of using external JavaScript?

Ans. The benefits of using external JavaScript include:

  • Separates HTML from the code, which improves organisation and maintainability.
  • Allows for the reuse of code across several web sites.
  • Enables caching, which improves performance and speeds up page loading.
  • Version control makes collaborative creation easier.
  • Improves simultaneous downloading of page resources for quicker loading.

Q 26. Are the functions given below different?

var fun = function(){
function fun(){

Ans. The above functions are different in terms of their syntax but perform the same tasks. The first is an anonymous function defined as a function expression while the second is a function declaration. Both provide different features to perform tasks in a program but they yield the same result for the same input and code. Also, the JavaScript interpreter defines the function expression at run-time and the function declaration at parse-time.

Q 27. Explain the code below.

var date = new Date();

Ans. The first line of the code creates a new Date object in the program that stores the current date into the variable “date”. The second line prints the current date and time; the output looks like this:

Mon Jul 22 2019 12:22:31 GMT+0530 (India Standard Time)

Q 28. What are self-invoking functions in JavaScript? Give an example.

Ans. A function that invokes/starts without being called is self-invoking in JavaScript. You cannot self-invoke a function declaration, but function expressions invoke automatically if the expression is followed by parenthesis ( ).

Self-invoking JavaScript functions, also known as Immediately Invoked Function Expressions (IIFEs), start working as soon as they are declared. They are frequently used to provide a private scope for variables and to stop extra variables from cluttering the global namespace.

Q 29. Can you add/ remove or modify HTML and JavaScript directly from the browser? If yes, then how?

Ans. Yes, you can add/remove or modify the HTML and JavaScript code from the browser. You can manipulate the browser’s DOM (Document Object Model) directly on the page using the browser’s Element window. You can see the complete code there; select the element you want to delete (Delete element) or the location where you want to add an HTML tag (Edit as HTML). Then right-click on that element and select delete/ add an element. If you want to modify an element, you can choose Add/ Edit Attribute from the options or use the Edit as HTML option to edit the elements in the DOM tree.

Q 30. Write one example code where you confront a ReferenceError.

Ans. One situation where you will always get an error is when you use undeclared variables in your program. You can test this by accessing the console and typing any variable name you want in there. Since the interpreter has no idea what the data you typed means, it will throw a ReferenceError in the console window.

Note – This JavaScript interview question test your programming skills. Practice it nicely.


With this, we come to the end of our preparation guide on JavaScript interview questions and answers. We tried to cover all the core concepts of JavaScript language in this article. After completing the JavaScript interview questions by DataFlair, you must be feeling confident for facing the interview. Aren’t you?

If you have any issues or queries in any topic, feel free to comment. Our team will help you.

You give me 15 seconds I promise you best tutorials
Please share your happy experience on Google

follow dataflair on YouTube

2 Responses

  1. int ellectual says:

    There’s a small mistake in Question 17. The Bar object should be on the new line. Right now, both the functions look same apart from the function names. Based on the answer it looks like you wanted to have Bar object on the new line rather than immediately after return.

  2. Gopi Vishwakarma says:

    a nice article this will help a lot in a javascript interview. thank you

Leave a Reply

Your email address will not be published. Required fields are marked *