i have problem about scoping in javascipt. I tried to create new object using the "new" keyword without any problem. The code looks like this
"use strict";
 function Person() {
     this.name = "john doe";
     console.log(this.name);
 }
 Var foo = new Person() 
The problem i encountered is when i try to add inner function the scope of the name variable becomes undefined inside the inner function
 "use strict";
 function Person() {
         this.name = "john doe";
         Function speak() {
                   console.log("my name is" + this.name);
         }
         speak();
  }
  var foo = new Person();
 //error: "cannot read property 'name' of undefined"
Can somebody explained what seems to be the problem? Thank guys
 
     
     
    