关于JavaSctipt的兼容性,最懒的办法就是用jQuery的工具函数。尽量不要用那些什么ECMAScript之类的函数,因为很多浏览器都会报找不到函数的错误。下面列出一些在开发过程中碰到过的javascript问题。
1、html" target="_blank">参数列表多个逗号。
$.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>
两次输出结果分别如下:
第一次:
第二次:
一个变量,如果定义时不赋值,那么就是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; }
以上就是本文的全部内容,希望对大家有所帮助,谢谢对小牛知识库的支持!
问题内容: 检索具有特定类的元素数组的最佳方法是什么? 我会使用document.getElementsByClassName,但IE不支持它。 …但是IE仍然说: 对象不支持此属性或方法 有什么想法,更好的方法,错误修复? 我不希望使用任何涉及jQuery或其他“笨拙的javascript”的解决方案。 我知道了! 正如@joe提到的,该函数不是的方法。 因此,工作代码如下所示: …此外, 如果
Dubbo 的协议,通讯,序列化,注册中心,负载均策等扩展点,都有多种可选策略,以应对不同应用场景,而我们的测试用例很分散,当用户自己需要加一种新的实现时,总是不确定能否满足扩展点的完整契约。 所以,我们需要对核心扩展点写 TCK (Technology Compatibility Kit),用户增加一种扩展实现,只需通过 TCK,即可确保与框架的其它部分兼容运行,可以有效提高整体健壮性,也方便第
由于 YodaOS 需要依赖设备,所以在做单元测试之前, 需要一块Rokid开发版。 设置您的测试环境 安装 Node.js 和 ADB 执行 npm install 新建测试文件夹 test/@yoda 创建一个简单的单元测试 在 test/@yoda 文件中,新建一个文件夹 wifi 在 wifi 文件夹中, 新建 ./demo.test.js 'use strict' var test =
全堆栈:
我一直试图编写一些opengl代码,在任何地方都可以使用,但又不太限制自己。 我想在只支持opengles2的设备上使用opengles2,在支持opengl核心的设备上使用opengles2。 另外,我希望能够在运行时选择使用哪一个(当然,如果可用的话)。 我知道GLEW,但不幸的是,大多数linux distros发布的GLEW版本仍然不兼容GLES2(debian,我在看你)。它只是分割断层
我想用JavaFXPorts和静态编程语言代码构建一个JavaFXAndroid应用。在JavaFXPorts项目中可以使用静态编程语言吗?下面是我的示例Gradle(版本5.6.4)项目: 注意:这段代码的问题是Kotlin运行时。。。有没有办法把所有东西捆绑在可执行Jar和Apk中? ./settings.gradle.kts /建造。格雷德尔。kts /应用/构建。格雷德尔。kts ./ap