- From: Cameron McCormack <cam@mcc.id.au>
- Date: Thu, 7 Jul 2011 12:14:44 +1200
- To: Allen Wirfs-Brock <allen@wirfs-brock.com>
- Cc: "Mark S. Miller" <erights@google.com>, Boris Zbarsky <bzbarsky@mit.edu>, Luke Hoban <lukeh@microsoft.com>, "es5-discuss@mozilla.org" <es5-discuss@mozilla.org>, public-script-coord@w3.org
Allen Wirfs-Brock: > Did you mean: > (function() {"use strict"; return this}).call(undefined) Yeah, I guess I did, thanks. (I looked quickly at the description of Function.prototype.call and figured that the this value given to [[Call]] was used unconditionally as the value of `this`, but of course the “Entering Function Code” section of the spec does do the strict mode check. I think I assumed `func.call(undefined)` would be different from `func()` even in non-strict mode.) I also just realised that the checking of the this value that Boris quoted will need to be tweaked so that static operations don’t throw. Doesn’t setTimeout need to know which window object it is called on, so that the right task queue is used? (I guess that could be encoded into the Window.prototype.setTimeout Function object, since there’ll only be one window object per setTimeout Function anyway.) -- Cameron McCormack ≝ http://mcc.id.au/
Received on Thursday, 7 July 2011 00:15:40 UTC