JavaScript functions can be invoked in different ways, and the invocation form affects the function’s implicit this context. section 4.1.2 section 4.2
The four invocation forms are:
- As a function: skulk(). section 4.2.1
- As a method: ninja.skulk(). section 4.2
- As a constructor: new Ninja(). section 4.2
- Through call or apply: skulk.call(ninja) or skulk.apply(ninja). section 4.2
A plain function call
Calling ninja() gives this the global window object in nonstrict mode; calling strict-mode samurai() gives this the value undefined. section 4.2.1






