with() Problem/Bug
Categories: Flash
Table of Contents
This is yet another bug I found while doing some Flash-dev, it has to do with the with() statement.
If you use with(this){…} it will give you erratic/unpredicted behavior, for instance take this code:
ob = {};
ob.test = function() {
with(this) {
__x = 1;
trace("test: inside: "+__x);
}
trace("test: outside: "+this.__x);
}
ob.test();
You would think that output would look like this:
test: inside: 1 test: outside: 1
But, instead it comes out as:
test: inside: 1 test: outside: undefined
Seems as though Flash does not allow you to set variables when using this in a with() statement. You can get the .fla i used to make the test cases for this bug here.
Thanks Macromedia for wasting another hour of my time! 😛