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与jquery中跳出循环的区别总结
Nov 04 Javascript
document.forms用法示例介绍
Jun 26 Javascript
node.js不得不说的12点内容
Jul 14 Javascript
使用jquery实现放大镜效果
Sep 02 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
Aug 31 Javascript
基于javascript实现文字无缝滚动效果
Mar 22 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
Mar 15 Javascript
jstree单选功能的实现方法
Jun 07 Javascript
详解JS构造函数中this和return
Sep 16 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
Mar 15 Javascript
vue 录制视频并压缩视频文件的方法
Jul 27 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&amp;mysql(五)
2006/10/09 PHP
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
js实现打字小游戏
2019/12/17 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
Python判断Abundant Number的方法
2015/06/15 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
机械系大学毕业生推荐信
2013/11/27 职场文书
法律进学校实施方案
2014/03/15 职场文书
学校志愿者活动总结
2014/06/27 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
2015年酒店工作总结
2015/04/28 职场文书
实习介绍信范文
2015/05/05 职场文书
redis数据一致性的实现示例
2022/03/18 Redis