コンストラクターでこれらすべてを行う方法はありますか?
obj = new Object();
obj.city = "A";
obj.town = "B";
このようにしてみませんか:
var obj = {"city": "A", "town": "B"};
そのようです:
var obj = {
city: "a",
town: "b"
}
function MyObject(params) {
// Your constructor
this.init(params);
}
MyObject.prototype = {
init: function(params) {
// Your code called by constructor
}
}
var objectInstance = new MyObject(params);
これは、オブジェクトの複数のインスタンスが必要な場合にプレーンなオブジェクト リテラルよりも好むプロトタイプの方法です。
これを試して
var obj = {
city : "A",
town : "B"
};
function cat(name) {
this.name = name;
this.talk = function() {
alert( this.name + " say meeow!" )
}
}
cat1 = new cat("felix")
cat1.talk() //alerts "felix says meeow!"
カスタムコンストラクターを書くことができます:
function myObject(c,t) {
this.city = c;
this.town = t;
}
var obj = new myObject("A","B");
これを試して:
function MyObject(city, town) {
this.city = city;
this.town = town;
}
MyObject.prototype.print = function() {
alert(city + " " + town);
}
obj = new MyObject("myCity", "myTown");
obj.print();
物事を複雑にしないでください。コンストラクターを定義する最も簡単な方法を次に示します。
var Cont = function(city, town) {
this.city = city;
this.town = town;
}
var Obj = new Cont('A', 'B');