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 相关文章推荐
5秒后跳转效果(setInterval/SetTimeOut)
May 03 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
JavaScript判断是否为数组的3种方法及效率比较
Apr 01 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
Jun 18 Javascript
举例说明如何为JavaScript的方法参数设置默认值
Nov 17 Javascript
jquery+json实现动态商品内容展示的方法
Jan 14 Javascript
理解javascript模块化
Mar 28 Javascript
javascript中this指向详解
Apr 23 Javascript
jQuery事件处理的特征(事件命名机制)
Aug 23 Javascript
HTML5 canvas 9绘制图片实例详解
Sep 06 Javascript
webpack4.0 入门实践教程
Oct 08 Javascript
Vue项目history模式下微信分享爬坑总结
Mar 29 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发电子邮件
2006/10/09 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
Eval and new funciton not the same thing
2012/12/27 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
js document.write()使用介绍
2014/02/21 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
JSONP基础知识详解
2017/03/19 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
详解Element-UI中上传的文件前端处理
2019/08/07 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
python抽象基类用法实例分析
2015/06/04 Python
python生成器表达式和列表解析
2016/03/10 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
python代码实现ID3决策树算法
2017/12/20 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
考博专家推荐信模板
2013/12/02 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
行政处罚告知书
2015/07/01 职场文书
Python+Appium新手教程
2021/04/17 Python
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android