Exercises

Lets solve the following exercise:

  1. Look at the following code:
            function F() { 
              function C() { 
               return this; 
              } 
              return C(); 
            } 
            var o = new F(); 
    

    Does the value of this refer to the global object or the object o?

  2. What's the result of executing this piece of code?
            function C(){  
              this.a = 1; 
              return false; 
            } 
            console.log(typeof new C()); 
    
  3. What's the result of executing the following piece of code?
            > c = [1, 2, [1, 2]]; 
            > c.sort(); 
            > c.join('--');  
            > console.log(c);  
    
  4. Imagine the String() constructor didn't exist. Create a constructor function, MyString(), that acts like String() as closely as possible. You're not allowed to use any built-in string methods or properties, and remember that the String() doesn't exist. You can use this code to test your constructor: ...

Get Object-Oriented JavaScript - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.