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 相关文章推荐
推荐:极酷右键菜单
Nov 29 Javascript
图片上传插件jquery.uploadify详解
Nov 15 Javascript
JS常用函数使用指南
Nov 23 Javascript
学习jQuey中的return false
Dec 18 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
Apr 11 Javascript
微信小程序下拉刷新界面的实现
Sep 28 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
Oct 24 Javascript
angular中子控制器向父控制器传值的实例
Oct 08 Javascript
Vue实现简单分页器
Dec 29 Javascript
微信小程序云开发详细教程
May 16 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
Oct 15 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有道翻译api调用方法实例
2014/12/22 PHP
javascript之函数直接量(function(){})()
2007/06/29 Javascript
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
[01:10]DOTA2次级职业联赛 - EP战队宣传片
2014/12/01 DOTA
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
Python面向对象特殊成员
2017/04/24 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
Python常用特殊方法实例总结
2019/03/22 Python
Django框架验证码用法实例分析
2019/05/10 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
学生会招新策划书
2014/02/14 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
答辩状格式范本
2015/05/22 职场文书
观看建国大业观后感
2015/06/01 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书
总结Python常用的魔法方法
2021/05/25 Python
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
简单聊聊Golang中defer预计算参数
2022/03/25 Golang