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 相关文章推荐
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
Nov 11 Javascript
js面向对象 多种创建对象方法小结
May 21 Javascript
JavaScript简单修改窗口大小的方法
Aug 03 Javascript
举例讲解jQuery中可见性过滤选择器的使用
Apr 18 Javascript
PHP获取当前页面完整URL的方法
Dec 02 Javascript
AngularJS实现动态添加Option的方法
May 17 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
vue.js删除列表中的一行
Jun 30 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
Sep 21 Javascript
代码分析vue中如何配置less
Sep 28 Javascript
在Create React App中启用Sass和Less的方法示例
Jan 16 Javascript
在vue中实现echarts随窗体变化
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
Apache服务器无法使用的解决方法
2013/05/08 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
javascript 当前日期转化为中文的实现代码
2010/05/13 Javascript
javascript整除实现代码
2010/11/23 Javascript
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
JavaScript 对象字面量讲解
2016/06/06 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
十条建议帮你提高Python编程效率
2016/02/16 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
python中dict使用方法详解
2019/07/17 Python
python多线程分块读取文件
2019/08/29 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
EJB的基本架构
2016/09/22 面试题
培训主管岗位职责
2014/02/01 职场文书
青年标兵事迹材料
2014/08/16 职场文书
绿色校园广播稿
2014/10/13 职场文书
实训报告范文大全
2014/11/04 职场文书
开票员岗位职责
2015/02/12 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
2015年妇委会工作总结
2015/05/22 职场文书