jquery return 返回值写法是什么意思?

$("[data-menu]").on("click",function(){
$(".menu").removeClass("active-menu-box-topactive-menu-box-bottomactive-menu-box-modalactive-menu-fullactive-sidebar-left-overactive-sidebar-left-pushactive-sidebar-right-pushactive-sidebar-left-parallaxactive-sidebar-right-parallaxactive-sidebar-right-over"),$(".page-content,.header").removeClass("active-body-left-pushactive-body-right-pushactive-body-left-parallaxactive-body-right-parallax"),$(".menu").css({
"margin-top":""
}),$(".menu-hider").addClass("active-menu-hider");
vare=$(this).data("menu-type"),
t=$(this).data("menu"),
a=$("#"+t).data("menu-height"),
o=$("#"+t).data("menu-height")/6;
return"menu-full-bottom"===e&&($("#"+t).toggleClass("active-menu-full-bottom"),$("#"+t).hasClass("active-menu-full-bottom")||$(".menu-hider").removeClass("active-menu-hider")),"menu-full-top"===e&&($("#"+t).toggleClass("active-menu-full-top"),$("#"+t).hasClass("active-menu-full-top")||$(".menu-hider").removeClass("active-menu-hider")),"menu-box-modal"===e&&($("#"+t).css({
height:a
}),$("#"+t).css({
"margin-top":a/2*-1
}),$("#"+t).toggleClass("active-menu-box-modal")),"menu-box-full"===e&&$("#"+t).toggleClass("active-menu-box-full"),"menu-box-bottom"===e&&($("#"+t).toggleClass("active-menu-box-bottom"),$(".page-content").css("transform","translateY("+-1*o+"px)"),$(".header").css("transform","translateY(-90px)")),"menu-box-top"===e&&($("#"+t).toggleClass("active-menu-box-top"),$(".page-content").css("transform","translateY("+o+"px)"),$(".header").css("transform","translateY(-90px)")),"menu-sidebar-left-over"===e&&$("#"+t).toggleClass("active-sidebar-left-over").addClass("menu-sidebar-shadow"),"menu-sidebar-left-push"===e&&($("#"+t).toggleClass("active-sidebar-left-push"),$(".page-content,.header").toggleClass("active-body-left-push")),"menu-sidebar-left-parallax"===e&&($("#"+t).toggleClass("active-sidebar-left-parallax").addClass("menu-sidebar-shadow"),$(".page-content,.header").toggleClass("active-body-left-parallax")),"menu-sidebar-right-parallax"===e&&($("#"+t).toggleClass("active-sidebar-right-parallax").addClass("menu-sidebar-shadow"),$(".page-content,.header").toggleClass("active-body-right-parallax")),"menu-sidebar-right-over"===e&&$("#"+t).toggleClass("active-sidebar-right-over").addClass("menu-sidebar-shadow"),"menu-sidebar-right-push"===e&&($("#"+t).toggleClass("active-sidebar-right-push"),$(".page-content,.header").toggleClass("active-body-right-push")),!1
})
return那里返回结果怎么一大串,很多都用“,”连起来,这里不太懂,为啥这么写?
还有一点,return"menu-full-bottom"===e&&($("#"+t).toggleClass("active-menu-full-bottom"),
有个逻辑&&运算符,怎么这么写呢,为啥来个&&意义在何处啊?
这种写法看得我头疼。
可不可以这样写?
return"menu-full-bottom"===e&&($("#"+t).toggleClass("active-menu-full-bottom"),
$("#"+t).hasClass("active-menu-full-bottom")||$(".menu-hider").removeClass("active-menu-hider")),
"menu-full-top"===e&&($("#"+t).toggleClass("active-menu-full-top"),
$("#"+t).hasClass("active-menu-full-top")||$(".menu-hider").removeClass("active-menu-hider")),
"menu-box-modal"===e&&($("#"+t).css({
height:a
}),
$("#"+t).css({
"margin-top":a/2*-1
}),
$("#"+t).toggleClass("active-menu-box-modal")),
"menu-box-full"===e&&$("#"+t).toggleClass("active-menu-box-full"),
"menu-box-bottom"===e&&($("#"+t).toggleClass("active-menu-box-bottom"),$(".page-content").css("transform","translateY("+-1*o+"px)"),$(".header").css("transform","translateY(-90px)")),
"menu-box-top"===e&&($("#"+t).toggleClass("active-menu-box-top"),
$(".page-content").css("transform","translateY("+o+"px)"),$(".header").css("transform","translateY(-90px)")),
"menu-sidebar-left-over"===e&&$("#"+t).toggleClass("active-sidebar-left-over").addClass("menu-sidebar-shadow"),
"menu-sidebar-left-push"===e&&($("#"+t).toggleClass("active-sidebar-left-push"),
$(".page-content,.header").toggleClass("active-body-left-push")),
"menu-sidebar-left-parallax"===e&&($("#"+t).toggleClass("active-sidebar-left-parallax").addClass("menu-sidebar-shadow"),
$(".page-content,.header").toggleClass("active-body-left-parallax")),
"menu-sidebar-right-parallax"===e&&($("#"+t).toggleClass("active-sidebar-right-parallax").addClass("menu-sidebar-shadow"),
$(".page-content,.header").toggleClass("active-body-right-parallax")),
"menu-sidebar-right-over"===e&&$("#"+t).toggleClass("active-sidebar-right-over").addClass("menu-sidebar-shadow"),
"menu-sidebar-right-push"===e&&($("#"+t).toggleClass("active-sidebar-right-push"),$(".page-content,.header").toggleClass("active-body-right-push")),
!1
一个,一行,这样写可以嘛?不然看得我更懵b了。
函数式编程
浏览 436回答 2
2回答

慕运维8079593

这种代码大多数是经过压缩工具压缩而成的,,可以连接表达式,也就是说从return开始一直到结束,这是一整个表达式,从最后的!1,可以看出这段代码无论如何最后都会returnfalse,所以整理后代码如下if("menu-full-bottom"===e){$("#"+t).toggleClass("active-menu-full-bottom");$("#"+t).hasClass("active-menu-full-bottom")||$(".menu-hider").removeClass("active-menu-hider")}if("menu-full-top"===e){$("#"+t).toggleClass("active-menu-full-top");$("#"+t).hasClass("active-menu-full-top")||$(".menu-hider").removeClass("active-menu-hider")}if("menu-box-modal"===e){$("#"+t).css({height:a});$("#"+t).css({"margin-top":a/2*-1});$("#"+t).toggleClass("active-menu-box-modal")}"menu-box-full"===e&&$("#"+t).toggleClass("active-menu-box-full");"menu-box-bottom"===e&&($("#"+t).toggleClass("active-menu-box-bottom");$(".page-content").css("transform","translateY("+-1*o+"px)");$(".header").css("transform","translateY(-90px)"));"menu-box-top"===e&&($("#"+t).toggleClass("active-menu-box-top");$(".page-content").css("transform","translateY("+o+"px)");$(".header").css("transform","translateY(-90px)"));"menu-sidebar-left-over"===e&&$("#"+t).toggleClass("active-sidebar-left-over").addClass("menu-sidebar-shadow");"menu-sidebar-left-push"===e&&($("#"+t).toggleClass("active-sidebar-left-push");$(".page-content,.header").toggleClass("active-body-left-push"));"menu-sidebar-left-parallax"===e&&($("#"+t).toggleClass("active-sidebar-left-parallax").addClass("menu-sidebar-shadow");$(".page-content,.header").toggleClass("active-body-left-parallax"));"menu-sidebar-right-parallax"===e&&($("#"+t).toggleClass("active-sidebar-right-parallax").addClass("menu-sidebar-shadow");$(".page-content,.header").toggleClass("active-body-right-parallax"));"menu-sidebar-right-over"===e&&$("#"+t).toggleClass("active-sidebar-right-over").addClass("menu-sidebar-shadow");"menu-sidebar-right-push"===e&&($("#"+t).toggleClass("active-sidebar-right-push");$(".page-content,.header").toggleClass("active-body-right-push"));returnfalse

陪伴而非守候

你这个应该是压缩后的代码,我只能告诉你&&在语法上有时候可以代替if语句。代码压缩程序的主要目的就是压缩代码的字符数量,所以会使用各种奇技淫巧,平时写代码可千万别这么写(在适当的时候偶尔用一下有时候也可以接受)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript