实例化javascript对象并在一行中填充其属性

时间:2012-08-02 12:23:58

标签: javascript jquery

有没有办法在构造函数中完成所有这些操作?

  obj = new Object();
  obj.city = "A";
  obj.town = "B";

8 个答案:

答案 0 :(得分:13)

你为什么不这样做:

var obj = {"city": "A", "town": "B"};

答案 1 :(得分:5)

像这样:

var obj = {
    city: "a",
    town: "b"
}

答案 2 :(得分:5)

function MyObject(params) {
    // Your constructor
    this.init(params);
}

MyObject.prototype = {
    init: function(params) {
        // Your code called by constructor
    }
}

var objectInstance = new MyObject(params);

这将是原型方式,当我需要一个以上的对象实例时,我更喜欢简单的对象文字。

答案 3 :(得分:2)

试试这个

var obj = {
    city : "A",
    town : "B"
};

答案 4 :(得分:1)

function cat(name) {
    this.name = name;
    this.talk = function() {
        alert( this.name + " say meeow!" )
    }
} 

cat1 = new cat("felix")
cat1.talk() //alerts "felix says meeow!"

答案 5 :(得分:1)

您可以编写自定义构造函数:

function myObject(c,t) {
    this.city = c;
    this.town = t;
}

var obj = new myObject("A","B");

答案 6 :(得分:0)

试试这个:

function MyObject(city, town) {
  this.city = city;
  this.town = town;
}

MyObject.prototype.print = function() {
  alert(city + " " + town);
}

obj = new MyObject("myCity", "myTown");
obj.print();

答案 7 :(得分:0)

不要让事情复杂化。这是定义构造函数的最简单方法。

var Cont = function(city, town) {
           this.city = city;
           this.town = town;
          }

var Obj = new Cont('A', 'B');