IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

jQuery の $(function) が ready イベント発生後だと動かない問題の解決法

ready にまつわる「ややこしい問題」で

川崎さんが困っているようなので、
[jQuery] $(function)はonload後には効かない Kawanet Blog II/ウェブリブログ
解決方法を書きます

実は

(たぶん)その「ややこしい問題」のために用意されている関数が jQuery にはある

jQuery.event.special.ready.setup()
/* または */
$.event.special.ready.setup()

試したことはないけど。たぶん上の関数を ready イベント前(ロードされる前)に呼び出してあげると、その「ややこしい問題」を解決できる
関数名が長いけど $(function(){}) のようにダミー関数を空呼びするよりは奇麗かなあ?

Scheme っぽい書き方勉強 1

ちょっと息抜きに Scheme の勉強。人のコード読み

文字列に a という文字が含まれるか

(define (has-a? string i)
        (and (>= i 0)
             (or (eqv? (string-ref string i) #\a)
                 (has-a? string (- i 1)))))

(has-a? "hoge" 3) ; => #f
(has-a? "fuga" 3) ; => #t

(define a "hoga")
(has-a? a (- (string-length a) 1)) ; => #t

JS に直すと

function has_a(string, i) {
  return i >= 0 && (string[i] == "a" || has_a(string, i - 1));
}

なるほどー。
やはり、文化が違うと書き方が違うなあ。
再帰再帰で頭が><