我有两个JavaScript程序,一个是我在旧公司中使用过的,另一个是我在网站上遇到的。今天,我注意到我的同事在程序中使用了这两个标准,在最终确定产品之前,我们必须将所有内容更改为一个标准代码。
<script type="text/javascript">
// Reference the textbox
var txt = document.getElementById("<%=txtName.ClientID%>");
// If the textbox was found, call its focus function
if (txt != null)
txt.focus();
</script>
或
<script type="text/javascript">
// Reference the textbox and call its focus function
var txt = $("#txtName");
txt.focus();
</script>
如果您处于这种情况,您会建议哪一个以及为什么?
答案 0 :(得分:2)
第一个是普通的JS,第二个是使用jQuery包装。如果你已经采用jQuery作为JS框架,第二个选项更好:)。 在这个特殊情况下,第二个是更好的,因为你不必关心测试该变量是否为null(你正在调用jQuery元素的焦点函数,所以它将注意检查元素是否在DOM上或不)
答案 1 :(得分:1)
第二个使用jquery,因此它依赖于该库,但它具有很强的可读性。你甚至可以写得更短:$("#txtName").focus();
第一个更快,但总体而言,这种差异并不重要,但使用jQuery编写和读取代码更容易。
答案 2 :(得分:1)
如果您在团队中工作,txtName.ClientID
可能会让您的同事更清楚。我不得不每天在同事的指导下完成许多代码,我会这样做
或者充分利用两个世界并使用类似:$("#<%=txtName.ClientID%>").focus()
答案 3 :(得分:1)
正如stecb所说,第一个是纯JavaScript代码,第二个是某种JS库(很可能是jQuery)。这里没有正确或错误的方法,即使你在加载它时在整个项目中使用库也是有意义的,你显然是这样。使用纯JavaScript的潜在性能提升对现代系统的基本用法来说可以忽略不计。
您应该检查所有网址/页面是否加载了JS库,有时开发人员只会在某些页面上加载某些库,这会阻止您使用该库,除非您将其包含在内。