这个jquery函数执行流程是怎样的?

$(".back-button").on("click", function () {
            return $("#page-transitions").addClass("back-button-clicked"), $("#page-transitions").removeClass("back-button-not-clicked"), window.history.go(-1), !1
        })

return 后面是啥意思啊,还有逗号,最后来个 !1 ,这是咋个执行流程,为啥要这样写。

这样写不行嘛?

$(".back-button").on("click", function () {
            $("#page-transitions").addClass("back-button-clicked"), 
            $("#page-transitions").removeClass("back-button-not-clicked"), 
            window.history.go(-1)
        })

这种不行嘛?他为啥串起来写?看得我头晕!

阅读 1.2k
1 个回答
$("#page-transitions").addClass("back-button-clicked"), 
$("#page-transitions").removeClass("back-button-not-clicked"),

这两句还可以这么连

$("#page-transitions").addClass("back-button-clicked").removeClass("back-button-not-clicked"),

! 表示取反运算,js 为弱类型语言,所有非0的int值都为 Boolean 值的 True ,所以 !1就是取 True的反,即False。

-1 就表示 -1 带符号的整数

其实整个意思可以这么理解:

$(".back-button").on("click", function () {
            $("#page-transitions").addClass("back-button-clicked");
            $("#page-transitions").removeClass("back-button-not-clicked"); 
            window.history.go(-1);
            return false;
        })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题