JavaScript兼容性和调试技巧
关于JavaSctipt的兼容性,最懒的方法是使用jQuery的工具函数。尽量不要使用ECMAScript这样的函数,因为很多浏览器会报告找不到函数。下面是开发过程中遇到的一些javascript问题。
1.参数列表中有多个逗号。
美元。ajax({})方法很熟悉,但在IE中有一个小点需要注意。如果在拼接参数表的时候最后加一个逗号,毫无疑问IE下的所有JS都会失败。
调试期间出现以下错误:
缺少标识符、字符串或数字
Data: {s _ id: subject _ id,level: $ ('# addkey ')。attr ('lang '),-如果你写这个逗号,IE会报错,火狐Google正常。},2,var str与var str='的区别
脚本var Str1for(var I=0;I 3;i ) { Str1='xxx' }警报(Str1);var Str2=for(var I=0;I 3;i ) { Str2='xxx' }警报(Str 2);/script两个输出结果如下:
第一次:
第二次:
如果变量是在没有赋值的情况下定义的,那么它是未定义的。添加字符串未定义“要添加的字符串”。如果像这样给HTML元素赋值。未定义的也会显示,所以要注意自己知道的。
3.调试IE缓存JS
今天调试的时候发现IE8的JS缓存非常霸气。刷新和清空缓存无效。刷新,直到鼠标左键几乎断开,否则不刷新。
现在,一个特殊的技巧是在JS之后添加一个新的Date()。所以你不用这么辛苦刷新。
脚本类型=' text/JavaScript ' src=' http :/123 . js?新日期()'/脚本
4.JS判断函数/变量是否存在,如果存在就调用
在javascript中,null、undefined、0、“”和false是if的条件时被视为flase。
所以对于变量,如果我们定义一个变量var str=由此判断,还是返回false。
//是否有指定的函数isexitsfunction(func name){ try { if(type of(eval(func name))=' func ')} { return true;} } catch(e) {}返回false}//是否有指定的变量函数isexitsvariable(variablename){ try { if(variablename)==' undefined '){//alert(' value undefined ');返回false} else { //alert('值为真');返回真;} } catch(e) {}返回false}以上就是本文的全部内容。希望对大家有帮助。感谢大家的支持!
版权声明:JavaScript兼容性和调试技巧是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。