タグ

注意事項に関するmonjudohのブックマーク (1)

  • static - 素人がプログラミングを勉強していたブログ

    これは便利。 var counter = function () { var static = /(^o^)/; return ('i' in static)? ++static.i: static.i = 0; }; console.log(counter()); // 0 console.log(counter()); // 1 console.log(counter()); // 2 console.log(counter()); // 3 正規表現リテラルは毎回解釈されるわけではなく、一度作られると同じオブジェクトが使われるのでstatic変数のような挙動をする。だから、RegExp#lastIndexとかを直接弄る時はよく気をつけないといけない。

    static - 素人がプログラミングを勉強していたブログ
    monjudoh
    monjudoh 2009/01/14
    『正規表現リテラルは毎回解釈されるわけではなく、一度作られると同じオブジェクトが使われるのでstatic変数のような挙動をする』これ怖いよなー
  • 1