Problems with left side eval in Flash MX

Created Thu, 09 May 2002 12:29:01 +0000 Modified Thu, 09 May 2002 12:29:01 +0000
200 Words

I am still seeing a lot of confusion over this issue, so i thought i would try to clarify. You can no longer use eval() on the left side of a statement. However, this only applies when publishing as a Flash 6 or greater SWF. This change was made in to be more consistent with ECMA-262.

Couple of points:

  • As long as you are publishing as a Flash 5 movie, you can still use eval() on the left side, even if using Flash MX.
  • The Flash 6 player will correctly play Flash 5 files with eval() on the left side of a statement.
  • The only time this should be a problem, is if you have a Flash 5 movie with eval() on the left side, and try to publish it as a Flash 6 movie. You cannot do this.

Here are links to technotes that describe the issue:

As a general rule, you should use this["foo"] instead of eval("foo"), even when authoring for Flash 5.

Update [5/14/02] : The technote has been updated. You can read a summary of the changes in the post.