私は最近、次の [効果的な] 構文構造に出くわしました。
d <= f && func3();
実際の構成は次の形式です。
d > f ? a > b ? func1() : func2() : d <= f && func3();
この構成の目的は何ですか?
私の最善の推測では、演算子の短絡評価のために false を返すfunc3
場合にのみ実行されますが、実際の関数のロジックがその時点で false になることを防ぐことを考えると、それは意味がないと思いますコードであり、実行されていることは DOM ウォッチングから明らかです。d <= f
&&
d <= f
func3
コード全体を見たい場合は、 http://cdn.sstatic.net/js/full.js?v= 9358063bfb40でこれを見つけました。これは、関数内のhttps://stackoverflow.com/faqで参照されていmoveScroller
ます (完全な関数)以下ではd <= f && j.css({...})
、相対位置にリセットする必要がある行にあります)。
function moveScroller() {
var g = $("#scroller").width(),
d = function () {
var d = $(window).scrollTop(),
f = $("#scroller-anchor").offset().top,
j = $("#scroller");
d > f ? j.height() > $(window).height() ? j.css({
position: "fixed",
top: "",
bottom: "0px",
width: g
}) : j.css({
position: "fixed",
top: "0px",
bottom: "",
width: g
}) : d <= f && j.css({
position: "relative",
top: "",
bottom: ""
})
};
$(window).scroll(d).resize(d);
d()
}