OOJS Interview Questions & Answers

4 avg. rating (80% score) - 1 votes

OOJS Interview Questions & Answers

Want to switch your career in to OOJS? Looking for OOJS interview question and answers to clear the interview in first attempt. Then we have provided the complete details on our OOJS site page. To be precise about OOJS, OOjs (short for "Object-oriented JavaScript") is a JavaScript library for working with objects. To clear any interview one should prepare well to clear the interview in very first attempt.If you are good at OOJS concepts then there are various leading companies that offers job in various roles like JavaScript Engineer, Web Developer - Object Oriented Javascript, Lead UI Engineer, UI Developer, Ui/frontend with OOJS, Full Stack Developer - Object Oriented JavaScript along with that there are many other roles too. For more details on OOJS jobs feel free to visit our site www.wisdomjobs.com.

OOJS Interview Questions

OOJS Interview Questions
    1. Question 1. Is Javascript Case Sensitive?

      Answer :

      Yes! JavaScript is a case sensitive because a function str is not equal to Str.

    2. Question 2. What Is The Type Of Javascript?

      Answer :

      There are different of Type as given below.

      1. String, 
      2. Number,
      3. Boolean,
      4. Function,
      5. Object,
      6. Null,
      7. Undefined etc

    3. Question 3. What Types Of Boolean Operators In Javascript?

      Answer :

      There are three types of Boolean operators as given below.

      1. AND (&&) operator, 
      2. OR (||) operator and 
      3. NOT (!) Operator

    4. Question 4. What Is The Difference Between “==” And “===”?

      Answer :

      The double equal “==” is an auto-type conversion and it checks only value not type.

      The three equal “===” is not auto-type conversion and it check value and type both.

      The real example as given below:

      if(1 == ”1”) // Its returns true because it's an auto-type conversion and it checks only value not type.
      if(1 === ”1”) // Its returns false because it's not auto-type conversion and it check value and type both.
      If(1=== parseInt(”1”)) // Its returns true.
          // alert(0 == false); // return true, because both are same type.
          // alert(0 === false); // return false, because both are of a different type.
          // alert(1 == "1"); // return true, automatic type conversion for value only.
          // alert(1 === "1"); // return false, because both are of a different type.
          // alert(null == undefined); // return true.
          // alert(null === undefined); // return false.
          //alert('0' == false); // return true.
          // alert('0' === false); // return false.
          // alert(1=== parseInt("1")); // return true.

    5. Question 5. What Is An Object?

      Answer :

      The object is a collection of properties and the each property associated with the name-value pairs. The object can contain any data types (numbers, arrays, object etc.)

      The example as given below
      Var myObject= {empId : “001”, empCode :”X0091”};

      In the above example, here are two properties one is empId and other is empCode and its values are “001” and “X0091”.

      The properties name can me string or number. If a property name is number i.e.

      Var numObject= {1 : “001”, 2 :”X0091”};
      Console.log(numObject.1); //This line throw an error.
      Console.log(numObject[“1”]); // will access to this line not get any error.

      As per my thought, the number property name should be avoided.

    6. Question 6. What Is Scope Variable In Javascript?

      Answer :

      • The scope is set of objects, variables and function and the JavaScript can have global scope variable and local scope variable.
      • The global scope is a window object and its used out of function and within the functions.
      • The local scope is a function object and its used within the functions.

      The example for global scope variable

          var gblVar = "Anil Singh";
          function getDetail() {

              console.log(gblVar);
         }

      and other example for global
          function demoTest() {
              x = 15;
          };
          console.log(x); //out put is 15

      The example for local scope variable
          function getDetail() {

              var gblVar = "Anil Singh";
              console.log(gblVar);
          }

      and other example for local
          function demoText() {
              var x = 15;
          };
          console.log(x); //undefined

    7. Question 7. What Is Array?what Is Associative Arrays In Javascript?

      Answer :

      Array is a collection of index items and it is a number indexes.

      Some of programming language support array as named indexes and the JavaScript not support the array as name indexes and its provide only number indexes but provide this feature using the associative array.

      The array with name indexes are called associative array and the associative array is provide a ways to store the information.

      The number index array example as given below

          var users = new Object();
          users["Name1"] = "Anil 1";
          users["Name2"] = "Anil 2";
          users["Age"] = 33;
          alert(Object.keys(users).length); //output is 3.
          var length = Object.keys(users).length;  // 3  

      The name index array example as given below
          var users = [];
          users["Name1"] = "Anil 1";
          users["Name2"] = "Anil 2";
          users["Age"] = 33;
          var length = users.length;         // users.length will return 0
          var detail = users[0];             // users[0] will return undefined

    8. Question 8. Where To Use The Associate Array?

      Answer :

      I am going to explain the associate array over the database table columns. A table have some columns and its type. i.e.

      The empName as text type, empAge as number type and enpDOB as date type.

      If we need to find the type of a column that time we can create the associate array. i.e.

      var empDetailType = new Array();
      empDetailType["empName"] = "ANil";
      empDetailType["empAge"] = 30;
      empDetailType["empDOB"] = "10/03/1984";
      console.log("Find the emp age type :" + empDetailType["empAge"]);

    9. Question 9. How To Achieve Inheritance In Javascript?

      Answer :

      In the JavaScript, we can implement the inheritance using the some alternative ways and we cannot define a class keyword but we create a constructor function and using new keyword achieve it.  

      The some alternative ways as given  below.

      1. Pseudo classical inheritance
      2. Prototype inheritance

      Pseudo classical inheritance is the most popular way. In this way, create a constructor function using the new operator and add the members function with the help for constructor function prototype.

      The prototype based programming is a technique of object oriented programming. In this mechanism we can reuse the exiting objects as prototypes. The prototype inheritance also know as prototypal, 

      classless or instance based inheritances.

      The Inheritance example for prototype based as given below

        // Create a helper function.
          if (typeof Object.create !== 'function') {
              Object.create = function (obj) {
                  function fun() { };
                  fun.prototype = obj;
                  return new fun();
              };
          }
          //This is a parent class.
          var parent = {
              sayHi: function () {
                  alert('Hi, I am parent!');
              },
              sayHiToWalk: function () {
                  alert('Hi, I am parent! and going to walk!');
              }
          };
          //This is child class and the parent class is inherited in the child class.

          var child = Object.create(parent);
          child.sayHi = function () {
              alert('Hi, I am a child!');
          };
      <button type="submit" onclick="child.sayHi()"> click to oops</button>
      The output is : Hi, I am a child!

    10. Question 10. What Is Typeof Operator?

      Answer :

      The typeof operator is used to find the type of variables.
      The example as given below.
      typeof "Anil Singh"                // Returns string
      typeof 3.33                  // Returns number
      typeof true                 // Returns Boolean
      typeof { name: 'Anil', age: 30 } // Returns object
      typeof [10, 20, 30, 40]             // Returns object

    11. Question 11. What Is Public, Private And Static Variables In Javascript?

      Answer :

      I am going to explain like strongly type object oriented language (OOPs) like(C#,C++ and java etc.).

      Fist I am creating a conductor class and trying to achieve to declare the public, private and static variables and detail as given below.

      function myEmpConsepts() { // This myEmpConsepts is a constructor  function.
          var empId = "00201"; //This is a private variable.
          this.empName = "Anil Singh"; //This is a public variable.
          this.getEmpSalary = function () {  //This is a public method
              console.log("The getEmpSalary method is a public method")
          }
      }
      //This is a instace method and its call at the only one time when the call is instanciate.
      myEmpConsepts.prototype.empPublicDetail = function () {
          console.log("I am calling public vaiable in the istance method :" + this.empName);
      }
      //This is a static vaiable and its shared by all instace.
      myEmpConsepts.empStaticVaiable = "Department";
      var instanciateToClass = new myEmpConsepts();

    12. Question 12. Who To Create The Namespace In Javascript?

      Answer :

      Please see the below example for how to create the namespace in JavaScript.

      //Create the namespace.
      var nameSpace = nameSpace || {};
      nameSpace.myEmpConsepts = function () {
          var empId = "00201"; //This is a private variable.
          this.empName = "Anil Singh"; //This is a public variable.
          //This is public function
          this.getEmp = function () {
              return "Anil Singh"
          }
          //This is private function
          var getEmp = function () {
                return "Anil Singh"
          }
          return {
              getEmp: getEmp,// work as public
              getEmp: getEmp // work as public
          }
      }();

    13. Question 13. How To Add/remove Properties To Object In Run-time In Javascript?

      Answer :

      I am going to explain by example for add and remove properties from JavaScript objects as give below.

      This example for delete property.
      //This is the JSON object.
      var objectJSON = {
          id: 1,
          name: "Anil Singh",
          dept: "IT"
      };
      //This is the process to delete
      delete objectJSON.dept;
      //Delete property by the array collection
      MyArrayColection.prototype.remove = function (index) {
          this.splice(index, 3);
      }
      This example for add property
      //This is used to add the property.
      objectJSON.age = 30;
      console.log(objectJSON.age); //The result is 30;
      //This is the JSON object.
      var objectJSON = {
          id: 1,
          name: "Anil Singh",
          dept: "IT",
          age :30
      };

    14. Question 14. How To Extending Built-in Objects In Javascript?

      Answer :

      JavaScript support built-in objects which use to develop the flexibility of JavaScript. The built in object are date, string, math, array and object. It's very similar to other languages and its available in the window content and wok independently when brewers are loaded.

      Example as give below
      var date = new Date(); //This is date built-in object.
      var math = Math.abs(10); // this is math built-in object.
      var string = "my string" // this is string built-in object.

    15. Question 15. Why Never Use New Array In Javascript?

      Answer :

      We have some  fundamental issues with new Array() the example in detail for array constructor function as given below.

      When array have more the one integer?
      var newArray = new Array(10, 20, 30, 40, 50);
      console.log(newArray[0]); //returns 10.
      console.log(newArray.length); //returns 5.

      When array have only one integer?
      var newArray = new Array(10);
      console.log(newArray[0]); //returns undefined
      console.log(newArray.length); //returns 10 because its has an error "array index out of bound";
      //This is the fundamental deference to need to avoid the new array();

    16. Question 16. What Is Eval() And Floor() Functions In Javascript?

      Answer :

      The eval() function used in execute an argument as expression or we can say that evaluate a string as expression and it used to parse the JSON.

      The example over eval() function as given below.

      var x = 14;
      eval('x + 10'); //The output is 24.
      Another over eval() function example
      eval('var myEval = 10');
      console.log(myEval); // The output is 10.

      The floor() function is a static method of Math and we can write as Math.floor() and used to round the number of downwards. i.e.

      Math.floor(1.6);//The output is 1.

    17. Question 17. What Is Join() And Isnan() Functions In Javascript?

      Answer :

      The is join() function used to join the separator in the array.

      Syntax:  myArray.join(mySeparator);

      The example as given below.

      var alfabets = ["A", "B", "C", "D"];
      //Join without seperator
      var result1 = alfabets.join();//The output is A B C D.
      //Join with seperator.
      var result2 = alfabets.join(','); //The output is A, B, C, D.

      The isNaN() function is used to check the value is not-a-number.

      The example as given below

      var var1 = isNaN(-1.23);//The output is false.
      var var2 = isNaN(3);//The output is false.
      var var3 = isNaN(0);//The output is false.
      var var3 = isNaN("10/03/1984"); //The output is true.

    18. Question 18. What Is Closure In Javascript?

      Answer :

      While you create the JavaScript function within another function and the inner function  freely access all the variable of outer function. i.e.

      function ourterFun(i) {
          var var1 = 3;
          function innerFun(j) {
              console.log(i + j + (++var1)); // It will return the 16.
          }
          innerFun(10);
      }
      ourterFun(2); // Pass an argument 2

      The output will get 16 because innerFun() function can access to the argument "i" & variable "var1" but both are define in the outerFun() function that is closure.

      That means simply accessing variable outside of your scope create a closure.

      // OR Other WAYS
      function ourterFun(i) {
          var var1 = 3;
          return function (j) {
              console.log(i + j + (++var1)); // It will return the 16.
          }
      }
      var innerFun = ourterFun(2); // innerFun() function is now a closure.
      innerFun(10);

    19. Question 19. What Is Javascript Hoisted?

      Answer :

      In the JavaScript, the variables can be used before declared, this kinds of mechanism is called Hoisted. It's a default behavior of JavaScript.

      You can easily understanding  in the below example in detail.

      //The variable declaration look like.
      var emp;
      //The variable initialization look like.
      emp = "Anil Singh";
      var emp; //The declaration of emp is hoisted but the value of emp is  undefined.
      emp = 10; //The Assignment still occurs where we intended (The value of emp is 10)
      function getEmp() {

          var emp; //The declaration of a different variable name emp is hoisted but the value of emp is  undefined.

          console.log(emp); //The output is undefined
          emp = 20; //The assignment values is 20.
          console.log(emp); //The output is 20.
      }
      getEmp();
      console.log(emp); //The variable named emp in the outer scope still contains 10.

    20. Question 20. What Is Function Overloading In Javascript?

      Answer :

      There is no real function overloading in JavaScript and it allows to pass any number of parameters of any type.

      You have to check inside the function how many arguments have been passed and what is the type arguments usingtypeof.

      The example for function overloading not supporting in JavaScript as give below.

      function sum(a, b) {
          alert(a + b);
      }
      function sum(c) {
          alert(c);
      }
      sum(3);//The output is 3.
      sum(2, 4);//The output is 2.

      In the JavaScript, when we write more than one functions with same name that time JavaScript consider the last define function and override the previous functions. You can see the above example output for the same.

      We can achieve using the several different techniques as give below

      1. You can check the declared argument name value is undefined.
      2. We can check the total arguments with arguments.length.
      3. Checking the type of passing arguments.
      4. Using number of arguments
      5. Using optional arguments like x=x || 'default'
      6. Using different name in the first place
      7. We can use the arguments array to access any given argument by using arguments[i]

    21. Question 21. What Is Prototype In Javascript?

      Answer :

      The prototype is a fundamental concept of JavaScript and its must to known JavaScript developers.

      All the JavaScript objects has an object and its property called prototype and its used to add and the custom functions and property.

      The example without prototype as given below.

      var employee = function () {
          //This is a constructor  function.
      }

      //Create the instance of above constructor  function and assign in a variable

      var empInstance = new employee();
      empInstance.deportment = "IT";

      console.log(empInstance.deportment);//The output of above is IT. The example with prototype as given below.

      var employee = function () { //This is a constructor  function.}
      employee.prototype.deportment = "IT";//Now, for every instance employee will have a deportment.
      //Create the instance of above constructor function and assign in a variable
      var empInstance = new employee();
      empInstance.deportment = "HR";
      console.log(empInstance.deportment);//The output of above is IT not HR.

    22. Question 22. What Are Different Data-types Of Javascript?

      Answer :

      Following are different data-type in JavaScript.

      1. String
      2. Number
      3. Boolean
      4. Function
      5. Object
      6. Null
      7. Undefined

    23. Question 23. What Are Different Two Ways Of Creating An Object?

      Answer :

      Object Literals: This is the most common way to create the object with object literal.

      For Example:

      var emptyObj= {};

      Object Constructor: It is way to create object using object constructor and the constructor is used to initialize new object.

      For Example:

      Var obj = new Object();

      Global variable: A variable which can be variable from any where of the page.

      Following are different two ways.

      First Way Declare the JavaScript variable at the top of JavaScript code and out of function & objects.

      var globalVariable1 ='This is global variable 1'
      Second WayDeclare a varaible without "var" in Function.
      function testfunction(){
          globalVariable2 ='This is global variable 2'
      }

    24. Question 24. Why "self" Is Needed Instead Of "this" In Javascript?

      Answer :

      In this post, I am share the “Why self is needed instead of this in JavaScript?” and also what is the advantage of using “var self = this;”

      var self = this;

      In the JavaScript, “self” is a pattern to maintaining a reference to the original “this” keyword and also we can say that this is a technique to handle the events.

      Right now, “self” should not be used because modern browsers provide a “self” as global variable (window.self).

      Example [“self” keyword is needed instead of “this”],

      var employee = function (name) {

          var self = this;
          self.username = name;
      };

    25. Question 25. The Terms “scope” And “context” Refer To The Same Thing In Javascript ?

      Answer :

      False, Scope pertains to the visibility of variables, and context refers to the object to which a method belongs (which can be changed by using call or apply).

    26. Question 26. If You Omit The “var” Keyword When Creating A Variable In A Function, It Becomes A Property Of What Object?

      Answer :

      When omitting the “var” keyword, the variable you create becomes an “implied global”. But implied globals are not variables in a function. An implied global actually becomes a property of the window object. Although the window object is considered the “global” scope, it is an object, and any variable declared in the global scope (intentionally or otherwise), becomes a property of the window object.

    27. Question 27. How Do You Determine If A Javascript Instance Object Was Created From A Specific Constructor Or Not?

      Answer :

      Use the instanceof operator.

    28. Question 28. Once You Create An Object, You Can Add, Remove Or Change Properties Of That Object At Any Time?

      Answer :

      Yes. We can add,remove or changer properties of created object at any time.

    29. Question 29. When You Create A Function Inside Of A Method, What Does The “this” Keyword Refer To When Used In That Function?

      Answer :

      The “window” object, Inside of a function, the “this” keyword always refers to the window object. But when a funciton is a property of on object, the “this” keyword always refers to the object that the function is a method of.

      var myObject  = {

         color : "red",
         test : function(){
            function testThis(){
              console.log(this.color); //undefined
              console.log(window === this); //true
            };
           testThis();
           console.log(this.color); //red
           console.log(window === this); //false
           return "done!"
         }
      };
      myObject.test();

      In the above example, the output to your JavaScript console should be:

      1. undefined
      2. true
      3. red
      4. false
      5. “done!”

      The reason for the output is: The testThis function inside of the myObject.test method attempts to log the value of “this.color”. That function is NOT a method, it is just a function declaration, so “this” refers to the window object. In this code, the window object, does not have a “color” property, so “this.color” is undefined. Next, the testThis function inside of the myObject.test method compares, window to the “this” keyword (just to prove the previous point). Again, because the testThis function inside of the myObject.test method is NOT a method, it is a property of the window object, so “this” DOES equal the window object.

      Next, the myObject.test method attempts to log the value of “this.color”. Since the test metod is a property of the myObject object, and the myObject object has a property named “color”, the value of that property is logged to the console. Next, the myObject.test method attempts to compares window to the “this” keyword. Since the test metod is a property of the myObject object, the “this” keywork refers to the myObject object, and the comparison to the window object returns false.

    30. Question 30. Name Two Ways Two Change The Context Of A Javascript Method ?

      Answer :

      Use the call or apply methods, 

      The call and apply methods can be used to specify the context of another method.

      var objectA = {
            name : "I am objectA",
            sayName : function(){
              alert("I am: " + this.name);
            }
          },
          objectB = {
            name : "objectB",
            sayName : function(){
              alert("I am: " + this.name);
            }
          };
      objectA.sayName.call(objectB); //alerts: "I am ObjectB"
      objectB.sayName.apply(objectA); //alerts: "I am ObjectA"

    31. Question 31. Can A Javascript Constructor Return A Primitive Value (e.g. A Number Or A String)?

      Answer :

      No. A JavaScript constructor can only return an object. When no return value is specified, it returns an instance of itself. If an object is specified as the return value, then that object is the return value. If any value other than an object is specified as the return value, then it returns an instance of itself.

    32. Question 32. In Javascript, Are Objects Passed By Reference Or By Value?

      Answer :

      In JavaScript, all objects are passed by reference. When you make a change to a reference to an object, you change the actual object. Primitive types are passed by value.

    33. Question 33. What Is The Difference Between A Constructor Function And A Non-constructor Function With Respect To The Word “this” ?

      Answer :

      In a non-constructor function, “this” refers to the global context or if the function is a method, it refers to the object to which the method belongs. In the instance object that is returned by a constructor function, “this” refers to the instance object itself.

    34. Question 34. An Object Literal Can Be Used To Create Private Variables?

      Answer :

      False. Only functions can be used in JavaScript to create privacy.

    35. Question 35. What Is The Name Of The Object That Refers To The Application Used To View A Web Page?

      Answer :

      The “navigator” object

      The object returned by the document.getElementsByTagName() method is an array.

      False, The object returned by the document.getElementsByTagName() method is an “HTMLCollection”. This is an array-like object that has a “length” property, can be enumerated, but is not an actual JavaScript array.

    36. Question 36. Which Object.property Combination Provides A Reference To The Protocol Used To View The Current Web Page?

      Answer :

      location.protocol

    37. Question 37. What Is The Difference Between Using Dot Notation And Bracket Notation When Accessing An Object’s Property?

      Answer :

      If using dot notation, the property must be a string and refer to a property that exists.

      When using bracket notation, any valid JavaScript expression that produces a value can be used inside the brackets, such as a variable or an an array element.

    38. Question 38. What Is Important To Remember About The Last Property’s Value In A Javascript Object Literal?

      Answer :

      The last property’s value should NOT be followed by a comma. Most browsers will let you get away with it if you forget, but Microsoft Internet Explorer will complain about the extra comma.

    39. Question 39. What Are Two Ways In Which The Variable “foo” Can Be Assigned To An Empty Object?

      Answer :

      1. var foo = new Object();
      2. var foo = {};

    40. Question 40. When Using The Addeventlistener() Method To Create A Click-handler For A Dom Element, What Is The Value Of “this” Inside Of The Callback You Specify?

      Answer :

      The DOM element that was clicked.

Popular Interview Questions

All Interview Questions

Oojs Practice Test

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Tutorial