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 相关文章推荐
背景音乐每次刷新都可以自动更换
Feb 01 Javascript
jQuery元素选择器用法实例
Dec 23 Javascript
js实现固定显示区域内自动缩放图片的方法
Jul 18 Javascript
JavaScript中this详解
Sep 01 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
Aug 25 Javascript
简单两步使用node发送qq邮件的方法
Mar 01 Javascript
跟混乱的页面弹窗说再见
Apr 11 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
Apr 29 Javascript
js的新生代垃圾回收知识点总结
Aug 22 Javascript
对vue中的事件穿透与禁止穿透实例详解
Oct 28 Javascript
写给新手同学的vuex快速上手指北小结
Apr 14 Javascript
Vue监视数据的原理详解
Feb 24 Vue.js
关于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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
PHP大神的十大优良习惯
2016/09/14 PHP
jquery 学习之二 属性(类)
2010/11/25 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
Python正规则表达式学习指南
2016/08/02 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
python中import与from方法总结(推荐)
2019/03/21 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
给同学的道歉信
2014/01/16 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
医院科室评语
2015/01/04 职场文书
董事长岗位职责
2015/02/13 职场文书
2015年圣诞节寄语
2015/08/17 职场文书
2016年寒假见闻
2015/10/10 职场文书
导游词之山东八仙过海景区
2019/11/11 职场文书