21 lines
577 B
JavaScript
21 lines
577 B
JavaScript
description('This test ensures that the correct "this" object is used when calling named function expressions or exceptions.');
|
|
|
|
this.toString = function() { return "the global object" };
|
|
var globalObject = this;
|
|
|
|
function namedFunctionExpression() {
|
|
return function f(i) { if (i > 0) return this; return f(1); }(0);
|
|
}
|
|
|
|
shouldBe("namedFunctionExpression()", 'globalObject');
|
|
|
|
function throwingFunctionAsException() {
|
|
try {
|
|
throw function(){ return this; }
|
|
} catch(e) {
|
|
return e();
|
|
}
|
|
}
|
|
|
|
shouldBe("throwingFunctionAsException()", 'globalObject');
|