開発環境
- OS X Lion - Apple(OS)
- Safari (Webプラウザ)
- TextWrangler(Text Editor) (BBEditの無料、light版)
- Script言語:JavaScript
- JavaScript Library: jQuery
独習JavaScript 高橋 和也 (著), 竹添 直樹 (著), 里見 知宏 (著) の第7章(オブジェクト指向プログラミング)7.5(クラスの継承)練習問題7.5.3を解いてみる。
その他参考書籍
- JavaScript 第5版 David Flanagan (著), 村上 列 (翻訳)
- JavaScriptクイックリファレンス David Flanagan (著), 木下 哲也 (翻訳), 福龍興業 (翻訳)
3.
コード(TextWrangler)
function Person(age, name, gender){ if(!name){ throw new Error('error:プロパティnameが未指定です'); } this.age = age; this.name = name; this.gender = gender; } function IdentifiedPerson(age, name, gender, id){ if(!id){ this.id = IdentifiedPerson.max_id + 1; IdentifiedPerson.max_id++; } else { this.id = id; if(IdentifiedPerson.max_id < id){ IdentifiedPerson.max_id = id; } } Person.apply(this,[age,name,gender]); } IdentifiedPerson.prototype = new Person(null,'name'); IdentifiedPerson.prototype.constructor = IdentifiedPerson; delete IdentifiedPerson.prototype.age; delete IdentifiedPerson.prototype.gender; IdentifiedPerson.max_id = 0; var p1 = new IdentifiedPerson(10,'javascript','male'); var p2 = new IdentifiedPerson(20,'perl','female'); var p3 = new IdentifiedPerson(30,'python',null,10); var p4 = new IdentifiedPerson(null,'ruby'); var array = [p1,p2,p3,p4]; var result = ""; for(var i = 0 ; i < array.length ; i++){ result += "id: " + array[i].id + "<br />" + "name: " + array[i].name + "<br />" + "age: " + array[i].age + "<br />" + "gender: " + array[i].gender + "<br /><br />"; } $('#pre0').html(result);
0 コメント:
コメントを投稿