なんじゃくにっき2

ほげほげ。プログラミングの話題中心。ほか資格とか。

たまにはcall使いたくなる

if nantoka_flag {
  $('#hoge').show();
} else {
  $('#hoge').hide();
}

みたいなコード書くのだっりぃーなと思った。 $('#hoge')が2回出てくるのがだるい。

var $hoge = $('#hoge') 
if nantoka_flag {
  $hoge.show();
} else {
  $hoge.hide();
}

セレクタ書くの1回になったので保守性は上がったがコード量増えててだるお。

じゃあこれでドヤ

(function(){
  if (nantoka_flag){
    this.hide();
  } else{
    this.show();
  }
}).call($('#hoge'));

$とかセレクタとか1回で済むがthisが2回出てくるのがだっるい。 そもそも無名関数書くのだるい。

(nantoka_flag ? $.prototype.show : $.prototype.hide).call($('#hoge'))

無名関数消してみた。 $.prototype 2回出てくる・・

$.prototype[nantoka_flag ? "show" : "hide"].call($("#hoge"))

まあこんなもんすかね。

(new $)[nantoka_flag ? "show" : "hide"].call($("#hoge"))

って書いた方がちょっと短い。

仕事で書くと怒られそう