Kamimura's blog
プログラミング(Python、Perl、C、Go、JavaScript)、数学、読書…
ほしい物リスト
2010年6月2日水曜日
プログラミング学習の記録 209.1 独習JavaScript (大型本)の第7章(オブジェクト指向プログラミング)の7.4(メソッドの定義)の練習問題7.4
開発環境:
Mac OS X Snow Leopard (OS)
Firefox(ブラウザ)+Firebug(アドオン)
"独習JavaScript (大型本)"のp.228, 第7章(オブジェクト指向プログラミング)の7.4(メソッドの定義)の練習問題7.4を解いてみる。
1.
function Rectangle(width, height) { this.width = width; this.height = height; } Rectangle.prototype.getSquare = function () { return width * height; } var width = prompt("長方形の横幅を入力してください", ""); var height = prompt("長方形の高さを入力してください", ""); var rec = new Rectangle(width, height); alert("長方形の面積: "+rec.getSquare());
2.
function Person(age, name, gender) { if (!name) { throw new Error("error: プロパティnameが未指定です"); } this.age = age; this.name = name; this.gender = gender; } Person.prototype.equals = function (person) { if (this.name != person.name) { return false; } if (!this.age && !person.age) { if (this.gender != person.gender) { return false; } } if (this.gender && person.gender) { if (this.age != person.age) { return false; } } return true; } var person = new Person(10, "Kamimura", "gender"); var person1 = new Person(20, "Kamimura", "gender"); var person2 = new Person(10, "Kamimura"); alert(person.equals(person1)); alert(person.equals(person2));
4.
インスタンスプロパティではなくprototypeプロパティに対してメソッドを定義するほうがメモリ効率がよくなる。
0 コメント:
コメントを投稿
次の投稿
前の投稿
ホーム
コメントの投稿(Atom)
0 コメント:
コメントを投稿