if(a = b) // do something
Firefox will second guess what the programmer was really trying to do and treat the code in the following way:
if(a == b) // do something
IE will not attempt to translate the code and comparing the two variables. Instead, it will re-assign the variable
a as the code literally stated. This is just one of many examples that shows Firefox is a lot more forgiving and attempts to render or execute incorrectly written code. IE shows strict behavior and will not work unless the code is syntactically correct.