JavaScript的兼容性与调试技巧


Posted in Javascript onNovember 22, 2016

关于JavaSctipt的兼容性,最懒的办法就是用jQuery的工具函数。尽量不要用那些什么ECMAScript之类的函数,因为很多浏览器都会报找不到函数的错误。下面列出一些在开发过程中碰到过的javascript问题。

1、参数列表多个逗号。

$.ajax({})方法,非常熟悉了吧,但是在IE中有个小地方要注意,如果你在拼接参数列表的时候最后一个也加了逗号,那么毫无疑问,IE下全部JS失效。

调试时报如下错误:

缺少标识符、字符串或数字

data: {
 S_Id: Subject_Id,
 level: $("#addKey").attr("lang"),--如果写上这个逗号,IE会报错,火狐谷歌正常。
},

2、var str; 与 var str=""的区别

<script>
 var Str1;
 for (var i = 0; i < 3; i++)
 {
 Str1 += "xxx"
 }
 alert(Str1);
 var Str2 = "";
 for (var i = 0; i < 3; i++)
 {
 Str2 += "xxx"
 }
 alert(Str2);
 </script>

    两次输出结果分别如下:

 第一次:

JavaScript的兼容性与调试技巧

    第二次:

JavaScript的兼容性与调试技巧

一个变量,如果定义时不赋值,那么就是undefined。再加字符串就是undefined + "要加的字符串"。如果这样给HTML元素赋值。undefined也是会显示出来的,怎么注意你懂的。

3、IE缓存JS的调试

今天调试的时候,发现IE8的JS缓存,非常非常霸气。刷新,清空缓存都无效。搞得刷新到鼠标左键都快碎了,还是不刷新。

现在特别来说个技巧,就是引入JS的时候,在后面加个new Date()。这样就不用刷新得那么辛苦了。

   <script type="text/javascript" src="/123.js?new Date()"></script>

4、JS判断函数/变量是否存在,存在则调用

javascript中null,undefined,0,"",false作为if的条件的时候,被认为是flase。

所以对于变量,如果我们定义了一个变量 var str = "";这样判断,依然返回false。

//是否存在指定函数 
 function isExitsFunction(funcName) {
 try {
 if (typeof(eval(funcName)) == "function") {
 return true;
 }
 } catch(e) {}
 return false;
 }
 //是否存在指定变量 
 function isExitsVariable(variableName) {
 try {
 if (typeof(variableName) == "undefined") {
 //alert("value is undefined"); 
 return false;
 } else {
 //alert("value is true"); 
 return true;
 }
 } catch(e) {}
 return false;
 }

以上就是本文的全部内容,希望对大家有所帮助,谢谢对三水点靠木的支持!

Javascript 相关文章推荐
javascript 动态修改样式和层叠样式表代码
Apr 27 Javascript
让浏览器非阻塞加载javascript的几种方法小结
Apr 25 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
Aug 02 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
Jul 09 Javascript
angularjs中的e2e测试实例
Dec 06 Javascript
js遮罩效果制作弹出注册界面效果
Jan 25 Javascript
JS+canvas动态绘制饼图的方法示例
Sep 12 Javascript
node.js中使用Export和Import的方法
Sep 18 Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
Nov 21 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
Dec 09 Javascript
JavaScript链式调用实例浅析
Dec 19 Javascript
vue中的面包屑导航组件实例代码
Jul 01 Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 #Javascript
JS中BOM相关知识点总结(必看篇)
Nov 22 #Javascript
老生常谈原生JS执行环境与作用域
Nov 22 #Javascript
JS中位置与大小的获取方法
Nov 22 #Javascript
javascript中Date对象的使用总结
Nov 21 #Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 #Javascript
使用Angular.js实现简单的购物车功能
Nov 21 #Javascript
You might like
php启用zlib压缩文件的配置方法
2013/06/12 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
通过webpack引入第三方库的方法
2018/07/20 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
python实现归并排序算法
2018/11/22 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
Django对models里的objects的使用详解
2019/08/17 Python
python 制作简单的音乐播放器
2020/11/25 Python
python中pop()函数的语法与实例
2020/12/01 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
俄罗斯商务邀请函
2014/01/26 职场文书
蓝颜请假条
2014/04/11 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
2014年工人工作总结
2014/11/25 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫