JavaScript関数に関する様々なテクニック集
2007年04月05日-
Lisp? Scheme? Erlang, Haskell? Forget about them! The most widely deployed functional programming language is Javascript.
JavaScript関数に関する様々なテクニック集が紹介されていました。
まずは基本的なJavaScript関数の使い方
<script language="javascript">
function hello(who) {
alert('Hello '+who);
}
hello('world');
</script>
「Hello World」を出力。
続いては関数リテラルのシンタックスによる関数の定義。
<script language="javascript">
var hello = function (who) {
alert('Hello '+who); // outputs "Hello world"
}
hello('world');
</script>
ちょっとJavaScriptを勉強をした方はここまでは知っているはず。
続いて次のちょっと変わった使い方。
hello 変数に関数リテラルの方式で変数に関数を代入し、その関数を別の関数sayの引数にして引数を関数として扱う方法です。
<script language="javascript">
var say = function(what) {
what('say function');
}
var hello = function (who) {
alert('Hello '+who); // outputs "Hello say function"
}
say(hello);
</script>
これは面白いです。「Hello say function」 がalertされます
次もちょっとかわった使い方。
<script language="javascript">
function pushedMyButton() {
alert('you pushed my button!');
}
function doSomething() {
return pushedMyButton; // return a pointer to the pushedMyButton function
}
document.onclick=doSomething();
</script>
document.onclick イベントに関数「doSomething」を指定し、その「doSomething」が別の関数「pushedMyButton」をリターンすることで、onclick イベントに「pushedMyButton」イベントを付与する方法。
ブラウザ画面をクリックすることで pushedMyButton が実行されます。
次も興味深いです。
<script language="javascript">
var test = function () {
return "This is a String";
}
var testCopy = test; // testCopy is a pointer to the test function()
var testStr = test(); // testStr contians "This is a string"
</script>
test を関数リテラルで定義して、他の変数に代入する時、testCopy の場合だと関数ポインタとなり、testStr の場合だとtest関数の返却する文字列がそのまま代入されます。
最後の () があるかないかで挙動が変わっています。
→ その他にもいろいろなJavaScript関数の使い方について述べられています
我こそはJavaScripter という方は是非とも覚えておきたいテクニックですね。
最新のブログ記事(新着順)
- 個性的な明朝フリーフォント「築豊初号明朝OFL」
- CSSで太陽が差し込むようなアニメーション実装
- 可愛くアニメーションする「beautifully crafted animated icons」
- アイソメトリックなアイコンがアイコンがPNG,SVGでゲットできる「Isoicons」
- ユニークなカタカナフォントtorisippo
- 美しいメッシュグラデーションをCSSで簡単に取得できる「MSHR」
- TailwindCSSなサイトで使える100以上のアニメーションエフェクト「animata」
- SVG形式のテック系企業のロゴを簡単にゲットできる「Svgl」
- 統一感のある色味を一括生成できるツール「The good colors」
- くちばしフォント【商用可】
- 過去のエントリ