- 2010-02-03 (水)
- 技術
Java変態文法最速マスター - プログラマーの脳みそをリスペクト。
JavaScript変態文法最速マスター - 葉っぱ日記をリスペクト。
特に技法的なことではないんですが、functionをいろんなところで絡めてわかりにくくするポイントをいくつか紹介。
if文にfunctionを絡めてみる
単純なifなはずなのに、条件式に即時実行のfunctionを絡めることによってよりわかりにくくできます。
さらにクロージャをreturnして()で実行し、より複雑にする技法もとりいれてます。
for文にfunctionを絡めてみる
そもそもfor文の回りにfunctionを絡めてわかりにくくし、for文の条件式にもfunctionを絡めます。
さらにクロージャをreturnして()で実行し、より複雑にする技法もとりいれてます。
「ちなみにここでやっていることは引数の[1, 2, 3]という配列を受け取って、新しい配列にコピーしてreturnしているだけです。」
出力結果
[1, 2, 3]
Objectに上記やり方を絡めてみる
aというプロパティはただaを返せば終わりなはずなのに、わざわざfunctionでネストしてわかりにくくしています。
bというプロパティは上記if文複雑化とfor文複雑化を応用して、解読が困難な状態を実現しています。
出力結果
[1, 2, 3]
複雑化で気を付ける点
iをインクリメントする部分の複雑化で
という部分がありますが、ここで
このように引数で渡してはいけません。
外側のスコープにいるiではなく、このfunctionの関数スコープ内のiをインクリメントすることになるので無限ループになります。
これ以外にもcurry化をうまく使いまくって、複雑にすることができますが、だいたい上記のことが応用できれば特に問題はありません。
※注意 function絡めは節度と必要度合いを見て実装しましょうね!
- Newer: Apple iPadが欲しくなる映像
- Older: エラトステネスの篩 - JavaScript版
Comments:0
Trackback:0
- TrackBack URL for this entry
- http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1241
- Listed below are links to weblogs that reference
- JavaScript変態複雑化文法最速マスター from HouseTect, JavaScript Blog


