Hatena::ブログ(Diary)

IT戦記 このページをアンテナに追加 RSSフィード Twitter

2009-01-19

for 文と無名関数のイディオム

id:cho45 がチョロっと書いたコードが話題になっている

冬通りに消え行く制服ガールは?夢物語にリアルを求めない。 - subtech

このような書き方は、自分もたまにする。

というわけで、この書き方をする利点を以下の順に解説して見る。

  1. 単純な for 文の問題点
  2. with 文を使った解決方法と、その微妙な問題点
  3. 無名関数を使った解決方法

単純な for 文の問題点

まずは、以下の HTML に対して

<ul>
 <li>hoge</li>
 <li>fuga</li>
 <li>piyo</li>
</ul>

以下の JavaScript を実行して

var list = document.querySelectorAll('ul > li');

for (var i = 0, len = list.length; i < len; i++) {
    var node = list[i];
    var text = node.textContent;
    node.onclick = function() { alert(text) }; // (1)
}

"hoge" と書いてある要素をクリックすると "piyo" と表示される。

これは、 var 文によって生成される変数は「ブロックスコープ」ではなく「関数スコープ」だからだ。

なので、 (1) で参照される変数 text は全部同じ変数、つまり、 alert の結果はすべてこのループ終了時の変数 text の値となるわけだ。

たとえば、以下の (1) と (2) は同じ変数を参照している。

function() {
  var i = 1; // (1)
  {
    var i = 0; // (2)
  }
  alert(i); // (3)
}

故に、 (3) では 0 が表示される

with 文を使った解決方法と、その微妙な問題点

これを解決するためには、 with スコープを使うことが多い。

たとえば、以下のように

for (var i = 0, len = list.length; i < len; i++) with ({ node: list[i], i: i, text: null }) {
    text = node.textContent;
    node.onclick = function() { alert(text) }; // (1)
}

with は、変数スコープをダイナミックに追加するための文で、これで作られるスコープを with スコープと読んだりもする。

この例では、 with の小括弧(丸括弧)の中に、リテラルの形でオブジェクトが指定されており、ループ中に毎回新しいオブジェクトが作られるので (1) の text は毎回違う変数となる。

これで一応は解決。

ただ、これは少し微妙な問題点を持っている。変数の参照が非常に重くなるのだ。

with スコープ内の変数参照は非常に重い

なぜ、重いか。

var 文で作られる変数の場合(eval 内を除く)は JavaScript の実行前にそのスコープで使える変数は決まってしまうので、JavaScript エンジン側での最適化がしやすい。(つまり、変数名によるスコープチェーンの探索を行わなくても大丈夫)

ただ、 with が絡んでくると「どのような変数が出現してもおかしくない状態」になるので、変数が出てくるたびに変数名によるスコープチェーンの探索を行わなければならなくなる。

つまりさっきの例で何回変数名の探索が行われるかというと

for (var i = 0, len = list.length; i < len; i++) with ({ node: list[i], i: i, text: null }) {
    text                 // 1 回
        = node.          // 2 回
            textContent;
    node.                // 3 回
        onclick =
    function() { 
        alert(           // 4 回
            text         // 5 回
        ) 
    };
}

5 回ということになってしまう。

最適化は難しい

with 文にあたえられている式がリテラルなので実行前に最適化できそうな気もするが、 JavaScript にはプロトタイプがあるので、 with 文で与えられたリテラルが with 文スコープ内で動的に変わることは十分にありえる。

with スコープでやる場合はスコープを極力小さく

with スコープを小さくしてやることは、重要。

for (var i = 0, len = list.length; i < len; i++) {
    var node = list[i];
    with ({ text: node.textContent }) {
        node.onclick = function() { alert(text) }; // (1)
    }
}

だが、 (1) の関数が大きくなってくるとその上位のスコープをいくら小さくしても、意味がない。

無名関数を使った解決方法

というわけで、これをすべて解決するのが

for (var i = 0, len = list.length; i < len; i++) (function(node, i) {
    var text = node.textContent; 
    node.onclick = function() { alert(text) };
})(list[i], i)

なのだ。

というわけで、 id:cho45 に敬礼

tilfintilfin 2009/01/19 15:22 解説ありがとうございます。
勉強になりました。

ちなみに単に上記の例を書くのであれば、
for (var i = 0, len = list.length; i < len; i++) {
list[i].onclick = function() { alert(this.textContent) };
}
でいいですよね?

yukobayukoba 2009/01/19 15:31 でもさぁ、ループの中でクロージャ使うの重すぎじゃない?

// Test1(普通の書き方)
var a = 1, b = 2, temp;
for (var i = 0; i < 1000 * 1000 * 1000 + 1; i++) {
temp = a;
a = b;
b = temp;
}

// Test2(クロージャ)
var a = 1, b = 2;
for (var i = 0; i < 10 * 1000 * 1000 + 1; i++) (function (temp) {
a = b;
b = temp;
})(a);

// Test3(with)
var a = 1, b = 2;
for (var i = 0; i < 1000 * 1000 + 1; i++) {with({temp: a}) {
a = b;
b = temp;
}}

の3つの比較で、僕のマシン@Firefox 3.1 beta 2 で、1ループあたりの実行時間は、
普通の書き方:6.476 ns
クロージャ:945.8 ns
with:2732 ns
だよ。

変数スコープの解決は、どうにかして高速化できないものだろうか??

amachangamachang 2009/01/19 15:46 id:tilfin さん
コメントありがとうございます。
そうですねー。上記の例に関してはそれで問題ないと思います。

id:yukoba さん
ありがとうございます!
たしかに、単純なループでは使うメリットはないですね><
DOM 系の操作が入ったり、
ループ内のクロージャを何回も使う場合などさまざまなケースがあると思うので、
結局はパフォーマンス計ってなるのでしょうね><

# ところで DooVii Wiki が雑誌で紹介されてましたね!
# コンビニで見ました。

yukobayukoba 2009/01/19 19:24 > # ところで DooVii Wiki が雑誌で紹介されてましたね!
> # コンビニで見ました。

まじまじ!知らなかった。何の雑誌?

> 使うメリット

パフォーマンスのボトルネックにならないならば、クロージャは便利だよね!

ひとつ面白いの発見しました。

// Test4(let)
var a = 1, b = 2;
for (var i = 0; i < 50 * 1000 * 1000 + 1; i++) {
let temp = a;
a = b;
b = temp;
}

これが、1回のループあたり、
Firefox 3.1 beta 2 JITあり:125ns
Firefox 3.1 beta 2 JITなし:103ns
Firefox 3.0: 160ns
になります。

なんで、let 文遅いの?
そして、JIT使うと、let 文が遅くなるの?
他のブラウザで使えない文法は高速化が後回しになっているのな??
しかも、let って、ECMAScript 3.1 にも入ってないんだね。

amachangamachang 2009/01/20 09:29 id:yukoba さん
# 雑誌
なんか、怪しいツール(winny とか)とかがいっぱい載ってる雑誌だったYO!
タイトル忘れたので、あとで調べてみますね!

let 意外と遅いんですねー。
スコープチェーン一個追加するだけなのに、なんでそんなに重いんだろう。

というか、ループの中が軽すぎるから重く感じるだけじゃないのですかね><

let は ECMAScript 4th 陣営の仕様でしたっけ? 3.1 にはないですね。

atmarkbiennaatmarkbienna 2009/01/20 13:25 なるほどぉ

amachangamachang 2009/01/20 13:32 id:atmarkbienna さん
コメントありがとうございます!

sogolospheresogolosphere 2009/01/20 21:39 状況によっては、
for (var i = 0, len = list.length; i < len; i++) {
var node = list[i];
node.myValue = node.textContent;
node.onclick = function() { alert(this.myValue) };
}
のようにノードのオブジェクトに動的にプロパティを追加する方法も使えるような気がします。
ライブラリなどが絡むと危険な香りがしますが・・・。

tt25tt25 2009/01/21 01:30 http://gist.github.com/49543

こんな感じでベンチマーク取ってみたけどあんまり差が出なかったです(ほぼ誤差)。

スコープ無視よりクロージャの方が速かったりしてなんかおかしい。計測か処理のとこで何かミスったかなー。

tt25tt25 2009/01/21 01:46 連続ですいません。

順番の都合で素のときだけonsubmitが未定義だったのが影響してたようです。10000ノード走査で100ms(≒1.3倍)くらいの差がついて素が圧勝でした。

お騒がせしました。

allkanpousallkanpous 2013/06/15 10:15 https://twitter.com/akanpokayisya
威哥王:http://www.akanpo.net/product/299.html
中絶薬:http://www.akanpo.net/catalog/3.html
三便宝:http://www.akanpo.net/product/233.html
巨人倍増:http://www.akanpo.net/product/36.html
花痴:http://www.akanpo.net/product/109.html
紅蜘蛛:http://www.akanpo.net/product/111.html
媚薬:http://www.akanpo.net/catalog/60.html
三体牛鞭:http://www.akanpo.net/product/91.html
RU486:http://www.akanpo.net/product/232.html
精力剤:http://www.akanpo.net/product/57.html
精力剤:http://www.akanpo.net
五便宝:http://www.akanpo.net/product/381.html
福源春:http://www.akanpo.net/product/55.html
韓国痩身一号:http://www.akanpo.net/product/208.html
狼一号:http://www.akanpo.net/product/92.html
狼1号:http://www.akanpo.net/product/92.html
蟻力神:http://www.akanpo.net/product/154.html
三體牛鞭:http://www.akanpo.net/product/91.html
韓国痩身1号:http://www.akanpo.net/product/208.html
韓国痩身一号:http://www.akanpo.net/product/208.html
天天素:http://www.akanpo.net/product/251.html
男宝:http://www.akanpo.net/product/52.html
漢方薬:http://www.akanpo.net/catalog/2.html
避妊薬:http://www.akanpo.net/product/147.html
催淫カプセル:http://www.akanpo.net/product/339.html
催淫:http://www.akanpo.net/product/443.html
妻之友:http://www.akanpo.net/product/390.html
経口避妊薬:http://www.akanpo.net/product/282.html
早漏防止:http://www.akanpo.net/product/140.html
ペニス増大:http://www.akanpo.net/catalog/13.html
ED治療薬:http://www.akanpo.net/catalog/12.html
ダイエット薬:http://www.akanpo.net/product/14.html
漢方ダイエット:http://www.akanpo.net/catalog/4.html
三便宝:http://www.akanpo.net/product/383.html
三鞭粒:http://www.akanpo.net/product/441.html
三便宝:http://www.akanpo.net/product/233.html
ru486 個人輸入:http://www.akanpo.net/product/232.html
ru486 販売:http://www.akanpo.net/product/232.html
キョジンバイゾウ:http://www.akanpo.net/product/303.html
ビグレックス:http://www.akanpo.net/product/238.html
D10 媚薬:http://www.akanpo.net/product/315.html
イーリーシン:http://www.akanpo.net/product/154.html
さんべんぼう:http://www.akanpo.net/product/383.html
漢方 強精剤:http://www.akanpo.net/catalog/1.html
強精剤:http://www.akanpo.net/catalog/1.html
巨根カプセル:http://www.akanpo.net/product/50.html
きょくび:http://www.akanpo.net/product/221.html
超級脂肪燃焼弾:http://www.akanpo.net/product/406.html
曲美:http://www.akanpo.net/product/221.html
終極痩身カプセル:http://www.akanpo.net/product/434.html
VigRX Oil:http://www.akanpo.net/product/238.html
VigRX:http://www.akanpo.net/product/238.html
ビグレックス オイル:http://www.akanpo.net/product/238.html
福源春カプセル:http://www.akanpo.net/product/55.html
西班牙蒼蝿水:http://www.akanpo.net/product/314.html
男露888:http://www.akanpo.net/product/335.html
魔根:http://www.akanpo.net/product/87.html
美人豹:http://www.akanpo.net/product/223.html
法国性奴:http://www.akanpo.net/product/438.html
性霸2000:http://www.akanpo.net/product/309.html
絶對高潮カプセル:http://www.akanpo.net/product/339.html
絶對高潮:http://www.akanpo.net/product/340.html
男根増長素:http://www.akanpo.net/product/446.html
勃動力三體牛鞭:http://www.akanpo.net/product/91.html
イカオウ:http://www.akanpo.net/product/299.html
ウェイカワン:http://www.akanpo.net/product/299.html
巨人倍増 販売:http://www.akanpo.net/product/303.html
威哥王 販売:http://www.akanpo.net/product/299.html
三便宝 販売:http://www.akanpo.net/product/383.html
紅蜘蛛 通販:http://www.akanpo.net/product/111.html
紅蜘蛛 激安:http://www.akanpo.net/product/110.html
紅蜘蛛 液体:http://www.akanpo.net/product/110.html
威可王:http://www.akanpo.net/product/299.html
三便宝 激安:http://www.akanpo.net/product/233.html
三便宝 販売店:http://www.akanpo.net/product/383.html
威哥王三鞭粒:http://www.akanpo.net/product/440.html
曲美 正規品:http://www.akanpo.net/product/221.html
曲美 通販:http://www.akanpo.net/product/220.html
曲美 ダイエット:http://www.akanpo.net/product/220.html
曲美 本物:http://www.akanpo.net/product/220.html
勃起促進:http://www.akanpo.net/catalog/16.html
VVK:http://www.akanpo.net/product/97.html
性欲増強:http://www.akanpo.net/catalog/62.html
pronetil spray:http://www.akanpo.net/product/382.html
SPANISCHE FLIEGE:http://www.akanpo.net/product/125.html
蟻王:http://www.akanpo.net/product/59.html
花之欲:http://www.akanpo.net/product/128.html
蒼蝿水:http://www.akanpo.net/product/102.html
SEX DROPS:http://www.akanpo.net/product/99.html
三便宝カプセル:http://www.akanpo.net/product/233.html
きょくび:http://www.akanpo.net/product/221.html
ベニクモ:http://www.akanpo.net/product/111.html
新一粒神:http://www.akanpo.net/product/448.html
壮三天:http://www.akanpo.net/product/458.html
終極痩身:http://www.akanpo.net/product/434.html
日本秀身堂:http://www.akanpo.net/product/249.html
SUPER FAT BURNING:http://www.akanpo.net/product/406.html
FAT BURNING:http://www.akanpo.net/product/406.html
御秀堂:http://www.akanpo.net/product/150.html
痩身一号:http://www.akanpo.net/product/210.html
痩身1号:http://www.akanpo.net/product/209.html
v26:http://www.akanpo.net/product/445.html
v26 薬:http://www.akanpo.net/product/444.html
v26 カプセル:http://www.akanpo.net/product/445.html
v26 ダイエット:http://www.akanpo.net/product/445.html
ダイエット:http://www.akanpo.net/catalog/4.html
肥滿:http://www.akanpo.net/catalog/29.html
ED シアリス:http://www.akanpo.net/product/276.html
精力増強剤:http://www.akanpo.net/catalog/1.html
脂肪燃焼:http://www.akanpo.net/catalog/28.html
新陳代謝:http://www.akanpo.net/catalog/30.html
肥滿:http://www.akanpo.net/catalog/29.html
漢方精力剤:http://www.akanpo.net/catalog/1.html
漢方薬 通販:http://www.akanpo.net/catalog/2.html
Wenickman:http://www.akanpo.net/product/97.html
WENICKMAN:http://www.akanpo.net/product/284.html
ペニス増大:http://www.akanpo.net/catalog/13.html
アリ王:http://www.akanpo.net/product/59.html
ANT KING:http://www.akanpo.net/product/156.html
催情剤:http://www.akanpo.net/product/443.html
しんいちつぶしん:http://www.akanpo.net/product/448.html
ハナチ:http://www.akanpo.net/product/109.html
FAT BURNING:http://www.akanpo.net/product/407.html
ナンパオ:http://www.akanpo.net/product/52.html
プロコミルスプレー:http://www.akanpo.net/product/382.html
くらはちほう:http://www.akanpo.net/product/449.html
西班牙昆虫粉:http://www.akanpo.net/product/129.html
蔵八宝:http://www.akanpo.net/product/449.html
FLY D5:http://www.akanpo.net/product/102.html
D5 原液:http://www.akanpo.net/product/102.html
Xing霸:http://www.akanpo.net/product/309.html
媚薬蟻王:http://www.akanpo.net/product/59.html

allkanpousallkanpous 2013/06/15 10:19 https://twitter.com/akanpokayisya
巨人倍増:http://www.allkanpou.com/product/巨人倍増.html
巨人倍増:http://www.allkanpou.com/product/%E5%B7%A8%E4%BA%BA%E5%80%8D%E5%A2%97.html
紅蜘蛛:http://www.allkanpou.com/product/紅蜘蛛.html
花痴:http://www.allkanpou.com/product/花痴.html
威哥王:http://www.allkanpou.com/product/威哥王.html
威哥王:http://www.allkanpou.com/product/%E5%A8%81%E5%93%A5%E7%8E%8B.html
三便宝:http://www.allkanpou.com/product/三便宝.html
福源春カプセル:http://www.allkanpou.com/product/福源春.html
五便宝:http://www.allkanpou.com/product/五便宝.html
蟻力神:http://www.allkanpou.com/product/蟻力神1.html
RU486:http://www.allkanpou.com/product/中絶薬RU486.html
媚薬:http://www.allkanpou.com/biyaku/媚薬.html
天天素:http://www.allkanpou.com/product/天天素.html
福源春:http://www.allkanpou.com/product/福源春.html
曲美:http://www.allkanpou.com/product/曲美10.html
VVK:http://www.allkanpou.com/product/Wenickman.html
WENICKMAN:http://www.allkanpou.com/product/WENICKMAN1.html
MaxMan:http://www.allkanpou.com/product/MaxMan.html
VigRx:http://www.allkanpou.com/product/VigRx.html
三鞭粒:http://www.allkanpou.com/product/weige.html
男根増長素:http://www.allkanpou.com/product/ngzzw.html
D10 媚薬:http://www.allkanpou.com/product/D10.html
VVK:http://www.allkanpou.com/product/wenickman.html
Wenickman:http://www.allkanpou.com/product/wenickman.html
男宝:http://www.allkanpou.com/product/男宝.html
ナンパオ:http://www.allkanpou.com/product/男宝.html
狼1号:http://www.allkanpou.com/product/狼1号.html
ベニクモ:http://www.allkanpou.com/product/紅蜘蛛2.html
ハナチ:http://www.allkanpou.com/product/花痴.html
FLY D5:http://www.allkanpou.com/product/蒼蝿水5.html
蒼蝿水:http://www.allkanpou.com/product/蒼蝿水5.html
三體牛鞭:http://www.allkanpou.com/product/三体牛鞭.html
ペニス増大:http://www.allkanpou.com/product/MaxMan.html
リドスプレー:http://www.allkanpou.com/product/LIDOSPRAY.html
VigRx:http://www.allkanpou.com/product/VigRx.html
SPANISCHE FLIEGE:http://www.allkanpou.com/product/spanischeflieged5.html
D10 媚薬:http://www.allkanpou.com/product/d10.html
催情剤:http://www.allkanpou.com/product/d10.html
セックスドロップ:http://www.allkanpou.com/product/sexdrops5.html
Supra PE:http://www.allkanpou.com/product/SupraPE.html
ダイエット:http://www.allkanpou.com/daietto/ダイエット.html
イーリーシン:http://www.allkanpou.com/product/蟻力神1.html
さんべんぼう:http://www.allkanpou.com/product/三便宝.html
三便宝カプセル:http://www.allkanpou.com/product/三便宝.html
ru486 販売:http://www.allkanpou.com/product/中絶薬RU486.html
ビグレックス:http://www.allkanpou.com/product/VigRxOil(ビグレックスオイル.html
キョジンバイゾウ:http://www.allkanpou.com/product/巨人倍増枸.html
ウェイカワン:http://www.allkanpou.com/product/威哥王.html
きょくび:http://www.allkanpou.com/product/曲美10.html
女性用媚薬:http://www.allkanpou.com/biyaku/女性媚薬.html
狼一号:http://www.allkanpou.com/product/狼1号.html
威哥王:http://www.allkanpou.com/product/威哥王.html
威哥王:http://www.allkanpou.com/product/%E5%A8%81%E5%93%A5%E7%8E%8B.html
巨人倍増:http://www.allkanpou.com/product/巨人倍増.html
巨人倍増:http://www.allkanpou.com/product/%E5%B7%A8%E4%BA%BA%E5%80%8D%E5%A2%97.html
五便宝:http://www.allkanpou.com/product/五便宝.html
三体牛鞭:http://www.allkanpou.com/product/三体牛鞭.html
プロコミルスプレー:http://www.allkanpou.com/product/procomilspray.html
消渇丸:http://www.allkanpou.com/product/消渇丸.html
精力増強剤:http://www.allkanpou.com/seiryokuzai/精力増強.html
強精剤:http://www.allkanpou.com/seiryokuzai/精力剤.html
漢方 強精剤:http://www.allkanpou.com/seiryokuzai/精力剤.html
女性用媚薬:http://www.allkanpou.com/biyaku/女性媚薬.html
催淫:http://www.allkanpou.com/product/絶對高潮6.html
催情:http://www.allkanpou.com/product/vov催情粉.html
性欲増強:http://www.allkanpou.com/seiryokuzai/強化性欲.html
性欲減退:http://www.allkanpou.com/biyaku/性欲の障害.html
媚薬 カプセル:http://www.allkanpou.com/product/福源春.html
中絶薬:http://www.allkanpou.com/pills/避妊中絶.html
避妊薬:http://www.allkanpou.com/pills/避妊中絶.html
ダイエット薬:http://www.allkanpou.com/daietto/ダイエット薬.html
精力剤:http://www.allkanpou.com/seiryokuzai/精力剤.html
女性用媚薬:http://www.allkanpou.com/biyaku/女性媚薬.html
漢方薬:http://www.allkanpou.com/kanpouyaku/漢方薬.html
催淫通販:http://www.allkanpou.com/biyaku/媚薬催淫.html
小情人:http://www.allkanpou.com/product/sexdrops5.html
男根増長素:http://www.allkanpou.com/product/ngzzw.html
三鞭粒:http://www.allkanpou.com/product/weige.html
九鞭粒:http://www.allkanpou.com/product/jiubianli.html
V26:http://www.allkanpou.com/product/v26速効.html
v26 カプセル:http://www.allkanpou.com/product/verl.html
西班牙蒼蝿水:http://www.allkanpou.com/product/蒼蝿水2.html
procomil spray:http://www.allkanpou.com/product/procomilspray.html
花之欲:http://www.allkanpou.com/product/花之欲5.html
終極痩身:http://www.allkanpou.com/product/zhongjishoushen.html
韓国痩身一号:http://www.allkanpou.com/product/韓国痩身一号5.html
韓国痩身1号:http://www.allkanpou.com/product/韓国痩身一1.html
新一粒神:http://www.allkanpou.com/product/新一粒神.html
しんいちつぶしん:http://www.allkanpou.com/product/新一粒神.html
蔵八宝:http://www.allkanpou.com/product/蔵八宝.html
西班牙昆虫粉:http://www.allkanpou.com/product/昆虫粉.htm
早漏防止:http://www.allkanpou.com/product/早漏防止.html
ビグレックス オイル:http://www.allkanpou.com/product/VigRxOil(ビグレックスオイル.html
威哥王 販売:http://www.allkanpou.com/product/威哥王.html
曲美 本物:http://www.allkanpou.com/product/曲美.html
性欲増強通販:http://www.allkanpou.com/product/潤滑剤.html
日本秀身堂:http://www.allkanpou.com/product/v26速効.html
法国性奴:http://www.allkanpou.com/product/fagou.html
西班牙蒼蝿水:http://www.allkanpou.com/product/蒼蝿水2.html
WENICKMAN:http://www.allkanpou.com/product/wenickman1.html
Xing霸:http://www.allkanpou.com/product/Xing霸.html
魔根:http://www.allkanpou.com/product/魔根.html
美人豹:http://www.allkanpou.com/product/美人豹5.html
超級脂肪燃焼弾:http://www.allkanpou.com/product/newsuperfatburnin.html
SUPER FAT BURNING:http://www.allkanpou.com/product/newsuperfatburnin.html
FAT BURNING:http://www.allkanpou.com/product/newsuperfatburnin.html
終極痩身カプセル:http://www.allkanpou.com/product/zhongjishoushen.html
御秀堂:http://www.allkanpou.com/product/御秀堂養顔痩身.html
痩身一号:http://www.allkanpou.com/product/韓国痩身一1.html
痩身1号:http://www.allkanpou.com/product/韓国痩身一1.html
蟻王:http://www.allkanpou.com/product/アリ王蟻王,ANTKING.html
アリ王:http://www.allkanpou.com/product/アリ王蟻王,ANTKING.html
ANT KING:http://www.allkanpou.com/Product/ANTKING.html
媚薬蟻王:http://www.allkanpou.com/product/アリ王蟻王,ANTKING.html
男露888:http://www.allkanpou.com/product/男露888.html
くらはちほう:http://www.allkanpou.com/product/蔵八宝.html
奇勝カプセル:http://www.allkanpou.com/product/qisheng.html

徳国 増大宝V12:http://www.allkanpou.com/product/増大宝V12.html
早漏防止コンドーム:http://www.allkanpou.com/product/早漏防止.html
新一粒神:http://www.allkanpou.com/product/新一粒神.html
蔵八宝:http://www.allkanpou.com/product/蔵八宝.html
RU486:http://www.allkanpou.com/product/中絶薬RU486.html
中絶薬RU486:http://www.allkanpou.com/product/中絶薬RU486.html
経口避妊薬:http://www.allkanpou.com/product/酢酸経口避妊薬片.html
蒼蝿水:http://www.allkanpou.com/product/蒼蝿水5.html
法国性奴:http://www.allkanpou.com/product/fagou.html
消渇丸:http://www.allkanpou.com/product/消渇丸.html
VOV 催情液:http://www.allkanpou.com/product/VOV催情液.html
ベニクモ:http://www.allkanpou.com/product/紅蜘蛛2.html
媚薬催淫:http://www.allkanpou.com/biyaku/%E5%AA%9A%E8%96%AC%E5%82%AC%E6%B7%AB.html
精力増強剤:http://www.allkanpou.com/seiryokuzai/%E7%B2%BE%E5%8A%9B%E5%A2%97%E5%BC%B7.html
漢方ダイエット:http://www.allkanpou.com/daietto/%E6%BC%A2%E6%96%B9%E3%83%80%E3%82%A4%E3%82%A8%E3%83%83%E3%83%88.html
ダイエット薬:http://www.allkanpou.com/daietto/%E3%83%80%E3%82%A4%E3%82%A8%E3%83%83%E3%83%88%E8%96%AC.html
脂肪燃焼:http://www.allkanpou.com/daietto/%E8%84%82%E8%82%AA%E7%87%83%E7%84%BC.html
狼1号:http://www.allkanpou.com/product/%E7%8B%BC1%E5%8F%B7.html
狼一号:http://www.allkanpou.com/product/%E7%8B%BC1%E5%8F%B7.html
三体牛鞭:http://www.allkanpou.com/product/%E4%B8%89%E4%BD%93%E7%89%9B%E9%9E%AD.html
Xing霸:http://www.allkanpou.com/product/Xing%E9%9C%B8.html
男宝:http://www.allkanpou.com/product/%E7%94%B7%E5%AE%9D.html
力多精:http://www.allkanpou.com/product/%E5%8A%9B%E5%A4%9A%E7%B2%BE.html
潤滑剤:http://www.allkanpou.com/product/K%2DY%E6%BD%A4%E6%BB%91%E5%89%A4.html
KY媚薬:http://www.allkanpou.com/product/K%2DY%E6%BD%A4%E6%BB%91%E5%89%A4.html
紅蜘蛛:http://www.allkanpou.com/product/%E7%B4%85%E8%9C%98%E8%9B%9B30.html
威哥王:http://www.allkanpou.com/product/%E5%A8%81%E5%93%A5%E7%8E%8B.html
蟻力神:http://www.allkanpou.com/product/%E8%9F%BB%E5%8A%9B%E7%A5%9E1.html
三便宝:http://www.allkanpou.com/product/%E4%B8%89%E4%BE%BF%E5%AE%9D.html
五便宝:http://www.allkanpou.com/product/%E4%BA%94%E4%BE%BF%E5%AE%9D.html
巨人倍増:http://www.allkanpou.com/product/%E5%B7%A8%E4%BA%BA%E5%80%8D%E5%A2%97%E6%9E%B8.html
西班牙蒼蝿水:http://www.allkanpou.com/product/%E8%92%BC%E8%9D%BF%E6%B0%B42.html
絶對高潮 催淫カプセル:http://www.allkanpou.com/product/%E7%B5%B6%E5%B0%8D%E9%AB%98%E6%BD%AE6.html
魔根金中草:http://www.allkanpou.com/product/%E9%AD%94%E6%A0%B9%E9%87%91%E4%B8%AD%E8%8D%89.html
花之欲:http://www.allkanpou.com/product/%E8%8A%B1%E4%B9%8B%E6%AC%B25.html
美人豹:http://www.allkanpou.com/product/%E7%BE%8E%E4%BA%BA%E8%B1%B95.html
花痴:http://www.allkanpou.com/product/%E7%B4%85%E8%9C%982.html
曲美:http://www.allkanpou.com/product/%E6%9B%B2%E7%BE%8E10.html
天天素:http://www.allkanpou.com/product/%E5%A4%A9%E5%A4%A9%E7%B4%A0.html
V26:http://www.allkanpou.com/product/V26%E9%80%9F%E5%8A%B9.html
v26 カプセル:http://www.allkanpou.com/product/verl.html
日本秀身堂:http://www.allkanpou.com/product/%E7%A7%80%E8%BA%AB%E5%A0%82%E6%95%91%E6%80%A5%E7%AE%B1.html
簡約痩身美体カプセル:http://www.allkanpou.com/product/%E7%B0%A1%E7%B4%84%E7%97%A9%E8%BA%AB%E7%BE%8E%E4%BD%93.html
超級脂肪燃焼:http://www.allkanpou.com/product/NEWSUPERFATBURNIN.html
終極痩身:http://www.allkanpou.com/product/zhongjishoushen.html
御秀堂:http://www.allkanpou.com/product/%E5%BE%A1%E7%A7%80%E5%A0%82%E9%A4%8A%E9%A1%94%E7%97%A9%E8%BA%AB.html
韓国痩身1号:http://www.allkanpou.com/product/%E9%9F%93%E5%9B%BD%E7%97%A9%E8%BA%AB%E4%B8%80%E5%8F%B75.html
韓国痩身一号:http://www.allkanpou.com/product/%E9%9F%93%E5%9B%BD%E7%97%A9%E8%BA%AB%E4%B8%801.html
SPANISCHE FLIEGE:http://www.allkanpou.com/product/SPANISCHEFLIEGED5.html
Sex Slave:http://www.allkanpou.com/product/fagou.html
SUPER FATBURNING:http://www.allkanpou.com/product/NEWSUPERFATBURNIN.html
媚薬催情粉:http://www.allkanpou.com/product/%E7%B4%85%E8%9C%98%E8%9B%9B30.html
痩身一号:http://www.allkanpou.com/product/%E9%9F%93%E5%9B%BD%E7%97%A9%E8%BA%AB%E4%B8%801.html
性霸2000:http://www.allkanpou.com/product/Xing%E9%9C%B8.html
v26 ダイエット:http://www.allkanpou.com/product/V26%E9%80%9F%E5%8A%B9.html
ハナチ:http://www.allkanpou.com/product/%E7%B4%85%E8%9C%982.html
ナンパオ:http://www.allkanpou.com/product/%E7%94%B7%E5%AE%9D.html
媚薬 販売:http://www.allkanpou.com/biyaku/媚薬催淫.html
ed治療 薬:http://www.allkanpou.com/seiryokuzai/ed治療.html
縮陰膏:http://www.allkanpou.com/product/縮陰膏.html
片仔廣:http://www.allkanpou.com/product/片仔廣軟膏10.html

allkanpousallkanpous 2013/06/15 10:23 https://twitter.com/akanpokayisya
三体牛鞭:http://三体牛鞭.shanghaikanpo.com
三體牛鞭:http://三体牛鞭.shanghaikanpo.com
五便宝:http://www.shanghaikanpo.com/view/1378.html
三便宝:http://www.shanghaikanpo.com/view/1425.html
花痴:http://www.shanghaikanpo.com/view/1363.html
巨人倍増:http://www.shanghaikanpo.com/view/1334.html
威哥王:http://www.shanghaikanpo.com/view/1392.html
精力剤:http://www.shanghaikanpo.com/Energy.html
紅蜘蛛:http://www.shanghaikanpo.com/view/1195.html
福源春:http://www.shanghaikanpo.com/view/1228.html
五便宝:http://www.shanghaikanpo.com/view/1378.html
三體牛鞭:http://www.shanghaikanpo.com/view/1420.html
媚薬:http://www.shanghaikanpo.com/Charming-medicine.html
避妊薬:http://www.shanghaikanpo.com/Avoid-pregnanting.html
中絶薬 :http://www.shanghaikanpo.com/Avoid-pregnanting.html
蟻力神:http://www.shanghaikanpo.com/view/1038.html
天天素:http://www.shanghaikanpo.com/view/1407.html
媚薬 カプセル:http://www.shanghaikanpo.com/catalog/18.html
男露888:http://www.shanghaikanpo.com/view/1451.html
補腎助陽:http://www.shanghaikanpo.com/catalog/68.html
曲美 ダイエット:http://www.shanghaikanpo.com/view/1431.html
三便宝カプセル:http://www.shanghaikanpo.com/view/1378.html
精力増強剤:http://www.shanghaikanpo.com/news/list/6.html
VigRx:http://www.shanghaikanpo.com/view/1165.html
vigRx oil:http://www.shanghaikanpo.com/view/1166.html
女性用媚薬:http://www.shanghaikanpo.com/Charming-medicine.html
VVK:http://www.shanghaikanpo.com/view/1158.html
Wenickman:http://www.shanghaikanpo.com/view/1156.html
街頭霸王 ペニス増大:http://www.shanghaikanpo.com/view/1471.html
潤滑剤:http://www.shanghaikanpo.com/catalog/15.html
早漏防止:http://www.shanghaikanpo.com/view/1019.html
狼一号,狼1号:http://www.shanghaikanpo.com/view/1319.html
中絶薬RU486:http://www.shanghaikanpo.com/view/1010.html
精力増強剤:http://www.shanghaikanpo.com/Energy.html
ペニス増大:http://www.shanghaikanpo.com/view/1157.html
巨人倍増枸杞:http://www.shanghaikanpo.com/view/1334.html
早漏:http://www.shanghaikanpo.com/catalog/11.html
奇果カプセル:http://www.shanghaikanpo.com/view/1439.html
新曲美痩身カプセル:http://www.shanghaikanpo.com/view/1515.html
福源春カプセル:http://www.shanghaikanpo.com/view/1228.html
MAXMAN:http://www.shanghaikanpo.com/view/1485.html
唯美OB蛋白痩身素:http://www.shanghaikanpo.com/view/1386.html
片仔廣:http://www.shanghaikanpo.com/view/1446.html
男露888:http://www.shanghaikanpo.com/view/1451.html
房事の神油:http://www.shanghaikanpo.com/view/1233.html
蟻力神:http://www.shanghaikanpo.com/view/1038.html
RU486 販売:http://www.shanghaikanpo.com/view/1009.html
威哥王 三鞭粒:http://www.shanghaikanpo.com/view/1394.html
spanish sex drops D8:http://www.shanghaikanpo.com/view/1180.html
即効性精力剤:http://www.shanghaikanpo.com/catalog/14.html
同仁牛黄清心丸:http://www.shanghaikanpo.com/view/1399.html
威哥王 三鞭粒:http://www.shanghaikanpo.com/view/1394.html
蟻力神:http://www.shanghaikanpo.com/view/1038.html
イーリーシン:http://www.shanghaikanpo.com/view/1038.html
RU486:http://www.shanghaikanpo.com/view/1010.html
RU486 販売:http://www.shanghaikanpo.com/view/1009.html
Xing霸 性霸2000:http://www.shanghaikanpo.com/view/1154.html
五便宝 カプセル:http://www.shanghaikanpo.com/view/1378.html
巨根カプセル:http://www.shanghaikanpo.com/view/1335.html
ハーバルビビッド VIVID:http://www.shanghaikanpo.com/view/1466.html
漢方薬:http://www.shanghaikanpo.com/Chinese-side.html
男根増長素:http://www.shanghaikanpo.com/view/1462.html
新一粒神 :http://www.shanghaikanpo.com/view/1464.html
しんいちつぶしん:http://www.shanghaikanpo.com/view/1464.html
MaxMan:http://www.shanghaikanpo.com/view/1084.html
魔鬼天使性欲粉:http://www.shanghaikanpo.com/view/1454.html
蟻王:http://www.shanghaikanpo.com/view/1039.html
VigRx:http://www.shanghaikanpo.com/view/1165.html
ビグレックス:http://www.shanghaikanpo.com/view/1165.html
男露888:http://www.shanghaikanpo.com/view/1451.html
西班牙昆虫粉:http://www.shanghaikanpo.com/view/1374.html
繊之素カプセル:http://www.shanghaikanpo.com/view/1065.html
五便宝 カプセル:http://www.shanghaikanpo.com/view/1378.html
事後避妊薬:http://www.shanghaikanpo.com/view/1130.html
藏秘男宝:http://www.shanghaikanpo.com/view/1268.html
性愛密碼強腎カプセル:http://www.shanghaikanpo.com/view/1056.html
西班牙蒼蝿迷情液:http://www.shanghaikanpo.com/view/1074.html
Jelly潤滑剤:http://www.shanghaikanpo.com/view/1087.html
1粒神:http://www.shanghaikanpo.com/view/1118.html
天天素 清脂カプセル:http://www.shanghaikanpo.com/view/1407.html
美人豹女性用口服液:http://www.shanghaikanpo.com/view/1296.html
東方神龍生精 カプセル:http://www.shanghaikanpo.com/view/1244.html
蟻王:http://www.shanghaikanpo.com/view/1151.html
ANT KING:http://www.shanghaikanpo.com/view/1151.html
韓国痩身一号:http://www.shanghaikanpo.com/view/1203.html
痩身1号:http://www.shanghaikanpo.com/view/1203.html
催情薬:http://www.shanghaikanpo.com/keyword/253.html
街頭霸王 ペニス増大:http://www.shanghaikanpo.com/view/1471.html
夜の健康食品:http://www.shanghaikanpo.com/catalog/66.html
ED改善:http://www.shanghaikanpo.com/catalog/67.html
ED助勃:http://www.shanghaikanpo.com/catalog/12.html
媚薬カプセル:http://www.shanghaikanpo.com/catalog/18.html
性器増大:http://www.shanghaikanpo.com/catalog/10.html
滋養強壮:http://www.shanghaikanpo.com/catalog/13.html
男宝:http://www.shanghaikanpo.com/view/1452.html
威可王:http://www.shanghaikanpo.com/view/1391.html
ウェイカワン:http://www.shanghaikanpo.com/view/1391.html
脂肪燃焼:http://www.shanghaikanpo.com/catalog/23.html
催情薬:http://www.shanghaikanpo.com/keyword/253.html
街頭霸王 ペニス増大:http://www.shanghaikanpo.com/view/1471.html
夜の健康食品:http://www.shanghaikanpo.com/catalog/66.html
新陳代謝:http://www.shanghaikanpo.com/catalog/24.html
即効ダイエット:http://www.shanghaikanpo.com/catalog/25.html
絶對高潮 催淫 カプセル:http://www.shanghaikanpo.com/view/1331.html
壮三天:http://www.shanghaikanpo.com/view/1474.html
FAT BURNING:http://www.shanghaikanpo.com/view/1098.html
ダイエット薬:http://www.shanghaikanpo.com/catalog/69.html
避妊中絶薬:http://www.shanghaikanpo.com/catalog/20.html
経口避妊薬 購入:http://www.shanghaikanpo.com/catalog/20.html
粉劑媚薬:http://www.shanghaikanpo.com/catalog/16.html
催情水剤:http://www.shanghaikanpo.com/catalog/17.html
紅蜘蛛 催情粉:http://www.shanghaikanpo.com/view/1197.html
ダイエット:http://www.shanghaikanpo.com/Reduce-weight.html
漢方薬:http://www.shanghaikanpo.com
威哥王 販売:http://www.shanghaikanpo.com/view/1394.html
v26 薬:http://www.shanghaikanpo.com/view/1171.html
絶對高潮カプセル:http://www.shanghaikanpo.com/view/1330.html
三便宝 カプセル:http://www.shanghaikanpo.com/view/1424.html
蔵八宝:http://www.shanghaikanpo.com/view/1465.html
天天素 清脂カプセル:http://www.shanghaikanpo.com/view/1407.html
曲美:http://www.shanghaikanpo.com/view/1431.html
即効ダイエット:http://www.shanghaikanpo.com/view/1460.html
きょくび:http://www.shanghaikanpo.com/view/1431.html
くらはちほう:http://www.shanghaikanpo.com/view/1465.html
コンドーム:http://www.shanghaikanpo.com/Condom.html
早妊診断:http://www.shanghaikanpo.com/catalog/21.html
豊胸美乳:http://www.shanghaikanpo.com/catalog/26.html
家庭治療薬:http://www.shanghaikanpo.com/catalog/33.html
D10 媚薬:http://www.shanghaikanpo.com/view/1107.html
SEX DROPS:http://www.shanghaikanpo.com/view/1136.html
三便百勝軟カプセル:http://www.shanghaikanpo.com/view/1492.html
女士催情コーヒー:http://www.shanghaikanpo.com/view/1490.html
男士コーヒー:http://www.shanghaikanpo.com/view/1491.html
VEGETAL VIGRAカプセル:http://www.shanghaikanpo.com/view/1489.html
VEGETAL VIGRA:http://www.shanghaikanpo.com/view/1488.html
阿拉伯偉哥:http://www.shanghaikanpo.com/view/1487.html
狼一号:http://www.shanghaikanpo.com/view/1484.html
植物壮根素 :http://www.shanghaikanpo.com/view/1486.html
増粗延時王:http://www.shanghaikanpo.com/view/1483.html
GOODMANペニス増大カプセル:http://www.shanghaikanpo.com/view/1480.html
GOODMAN:http://www.shanghaikanpo.com/view/1481.html
トップラブV9:http://www.shanghaikanpo.com/view/1482.html
CROWN 3000:http://www.shanghaikanpo.com/view/1493.html
RU486:http://www.shanghaikanpo.com/view/1010.html
FAT BURNING:http://www.shanghaikanpo.com/view/1098.html
ANT KING:http://www.shanghaikanpo.com/view/1151.html
VigRx:http://www.shanghaikanpo.com/view/1165.html
MaxMan:http://www.shanghaikanpo.com/view/1084.html
妻之友:http://www.shanghaikanpo.com/view/1440.html

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。