In this MDN document about the Strict Mode of JavaScript, under "Semantic differences -> this in function calls", it's mentioned that:
When a function was called with call or apply, if the value was a primitive value, this one was boxed into an object (or the global object for undefined and null). In strict mode, the value is passed directly without conversion or replacement.
I need clarification for this statement. When I test this, I don't see any difference based on the mode (strict or sloppy) of the code.
Please let me know if I have misunderstood the statement.
This is how I've tested:
(function() { function a() { console.log(this); } function b() { "use strict"; a.call(2); } function c() { a.call(3); } b(); c(); })(); Result :

"use strict";at top-level, the beginning of the IIFE, or ina(). But not if you put it inb()orc(). Not sure why.