特别是在IE6下
字符串的拼接
不要用var str = “aaa”+”bbb” 会报错 arr.push arr.join 测试也是会报错 推荐 var str = ‘’;str += ‘aaa’; str += ‘bbb’;
不要注释
注释会影响解析,可能导致 缺少’}’ 之类的bug
关于返回值
不要类似直接return ‘a’ 这样直接返回一个临时创建的字符而应该是 var str = ‘not’; return not;
这些说法没有严谨的进行验证,只是在最近和flash进行交互的时候,在ie下遇到错误,总是查找不到,最后一点点的回滚代码测试错误的时候,发现的。也没法描述其中的原理是什么。仅供参考
2014年6月5日补充
以上情况只适用于这种情况:使用swfobject.js来加载flash,会以flashvar的形式给flash传递一个js的回调函数。出问题的原因是:swfobject.js会把这个js的回调函数的代码复制然后写入标签的flashvar属性中。这种复制会导致下面的问题。
原创内容,欢迎转载 😊