シンプルな関数
はじめに引数を2倍にして返すというシンプルな関数を作ってみます。
function hoge(x) { return x * 2;}console.log(hoge(10)); //20これはどんな言語でもほとんど同じなので問題ないですね。
関数を変数に入れる
関数は変数に入れることもできます。
呼び出し方は同じですね。
var hoge = function(x) { return x * 2;};console.log(hoge(10)); //20さらに関数の後に引数を指定することで、定義後すぐに実行できます。
var hoge = (function(x) { return x * 2;})(10);console.log(hoge); //20引数にオブジェクトプロパティを使用する
関数に複数の引数がある場合、順番にも気をつけないといけません。
オブジェクトプロパティを使用することで、名前と値をペアで指定することができ引数の順番を気にすることなく記述できます。
function hoge(args) { return args.hoge1 + args.hoge2 + args.hoge3;}console.log(hoge({hoge1:10, hoge2:20, hoge3:30}));コンストラクタ関数
JavaScriptにはクラスがないのですが、コンストラクタ関数を使えばクラスっぽいことができるらしいです。
「x」「y」の2つのプロパティを持つ関数を定義します。
ちなみにコンストラクタ関数には直接returnを記述してはいけません。
function hoge(x, y) { this.x = x; this.y = y;}このコンストラクタ関数をオブジェクト化して、プロパティ「x」「y」にアクセスしてみましょう。
var hoge1 = new hoge(10, 20);console.log(hoge1.x); //10console.log(hoge1.y); //20コンストラクタ関数の中に関数を定義する
コンストラクタ関数の中には関数を定義することができます。
プロパティ「x」と「y」を足して返す「add」という関数を定義してみます。
function hoge(x, y) { this.x = x; this.y = y; this.add = function() { return this.x +this.y; };}使い方は先ほどとあまり変わりません。
var hoge1 = new hoge(10, 20);console.log(hoge1.add()); //30ほんとうに基礎の基礎って感じですが以上です。
JavaScriptちょうきもちわりーって感じでしたが、ちょっとだけ好きになれた気がします。
JavaScript 第5版
Amazon.co.jp


