【发布时间】:2012-07-31 10:02:09
【问题描述】:
有没有办法可以在构造函数中完成所有这些操作?
obj = new Object();
obj.city = "A";
obj.town = "B";
【问题讨论】:
-
是的,当然。你可以在这里看到一些用法:[以前回答的问题][1] [1]:stackoverflow.com/questions/1114024/…
标签: javascript
有没有办法可以在构造函数中完成所有这些操作?
obj = new Object();
obj.city = "A";
obj.town = "B";
【问题讨论】:
标签: javascript
您可以编写自定义构造函数:
function myObject(c,t) {
this.city = c;
this.town = t;
}
var obj = new myObject("A","B");
【讨论】:
不要把事情复杂化。这是定义构造函数的最简单方法。
var Cont = function(city, town) {
this.city = city;
this.town = town;
}
var Obj = new Cont('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();
【讨论】:
function MyObject(params) {
// Your constructor
this.init(params);
}
MyObject.prototype = {
init: function(params) {
// Your code called by constructor
}
}
var objectInstance = new MyObject(params);
这将是原型方式,当我需要多个对象实例时,我更喜欢使用普通对象文字。
【讨论】:
function cat(name) {
this.name = name;
this.talk = function() {
alert( this.name + " say meeow!" )
}
}
cat1 = new cat("felix")
cat1.talk() //alerts "felix says meeow!"
【讨论】:
试试这个
var obj = {
city : "A",
town : "B"
};
【讨论】:
像这样:
var obj = {
city: "a",
town: "b"
}
【讨论】:
你为什么不这样做:
var obj = {"city": "A", "town": "B"};
【讨论】: