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 相关文章推荐
jQuery contains过滤器实现精确匹配使用方法
Apr 12 Javascript
JavaScript定时显示广告代码分享
Mar 02 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
Dec 28 Javascript
详解webpack require.ensure与require AMD的区别
Dec 13 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
vue+Element实现搜索关键字高亮功能
May 28 Javascript
vue实现鼠标经过动画
Oct 16 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
Aug 04 Javascript
浅谈vue中resetFields()使用注意事项
Aug 12 Javascript
在HTML5 localStorage中存储对象的示例代码
Apr 21 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文件的实现方法
2007/03/19 PHP
PHP时间戳使用实例代码
2008/06/07 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
php实现数据库的增删改查
2017/02/26 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
JS的千分位算法实现思路
2013/07/31 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
vue项目实现图片上传功能
2019/12/23 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
Python实例分享:快速查找出被挂马的文件
2014/06/08 Python
Python的垃圾回收机制深入分析
2014/07/16 Python
Python中规范定义命名空间的一些建议
2016/06/04 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
python ubplot使用方法解析
2020/01/10 Python
sklearn的predict_proba使用说明
2020/06/28 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
企业管理培训感言
2014/01/27 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
公司员工体检通知
2015/04/21 职场文书
pandas提升计算效率的一些方法汇总
2021/05/30 Python
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python