Return value of 'eval("function z() {...}"'?

# Dave Fugate (15 years ago)

By ES5.1, what would we expect to be 'x' in the following snippet: x = eval("function z() {return 1;}");

'undefined', 'z', or something else entirely?

# Mike Samuel (15 years ago)

Nothing.

From chapter 14:

The production SourceElement : FunctionDeclaration is evaluated as follows: 1. Return (normal, empty, empty).

2011/2/24 Dave Fugate <dfugate at microsoft.com>:

# Allen Wirfs-Brock (15 years ago)

And 15.1.2.1 says what eval returns if programs that evaluate to (normal,empty, emtry): undefined.

# Dave Fugate (15 years ago)

Thanks for the info guys! I was aware of 15.1.2.1, but had no idea what a FunctionDeclaration would actually evaluate to.

My best,