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 相关文章推荐
document 和 document.all 分别什么时候用
Jun 22 Javascript
JavaScript Object的extend是一个常用的功能
Dec 02 Javascript
Jquery Ajax请求代码(2)
Jan 07 Javascript
javascript管中窥豹 形参与实参浅析
Dec 17 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
Jan 12 Javascript
vuejs绑定class和style样式
Apr 11 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
Jun 28 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
Mar 03 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
Vue+Vant 图片上传加显示的案例
Nov 03 Javascript
微信小程序实现购物车功能
Nov 18 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实现Ftp用户的在线管理
2012/02/16 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
2015/03/31 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
2016/05/31 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
Python中列表的一些基本操作知识汇总
2015/05/20 Python
python 容器总结整理
2017/04/04 Python
解读! Python在人工智能中的作用
2017/11/14 Python
对Python实现累加函数的方法详解
2019/01/23 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
python三大神器之fabric使用教程
2019/06/10 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
社会发展项目建议书
2014/08/25 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
DE1107机评
2022/04/05 无线电