我在网站的代码中注意到,我有很多以下类型的条件语句:
//Example 1
if ($("#myDiv1").hasClass("myClass1")) {
$("#myDiv1").hide();
}
//Example 2
if (!$("#myDiv2").is(":hover")) {
$("#myDiv2").slideUp("slow");
}
整理这些内容的明显方法如下:
//Example 1
var e1 = $("#myDiv1");
if (e1.hasClass("myClass1")) {
e1.hide();
}
//Example 2
var e2 = $("#myDiv2");
if (!e2.is(":hover")) {
e2.slideUp("slow");
}
但是,我想知道是否可以在if
声明后以某种方式链接功能。我尝试了这两行代码(没想到它行得通,也行不通);
//Example 1
var e1 = $("#myDiv1");
if (e1.hasClass("myClass1").hide()); //Attempt1
e1.hasClass("myClass1").hide(); //Attempt2
当if
语句和语句的自变量中的DOM元素相同时,是否有任何方法可以链接条件if
语句?
重写此代码以减少代码占用的一种方法如下。这种风格利用了JavaScript评估布尔语句的方式,有时也称为“短路”。基本上,每行的第二部分(在&&之后)仅在第一部分为true时执行。
$("#myDiv1").hasClass("myClass1") && $("#myDiv1").hide();
!$("#myDiv2").is(":hover") && $("#myDiv2").slideUp("slow");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句