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

实例化javascript对象并在单行中填充其属性,javascript,Javascript,有没有一种方法可以在构造函数中完成所有这些 obj = new Object(); obj.city = "A"; obj.town = "B"; 你为什么不这样做呢: var obj = {"city": "A", "town": "B"}; 像这样: var obj = { city: "a", town: "b" } 试试这个 var obj = { city : "A", town : "B" }; 这将是原型方式,当我需要一个以上的对

有没有一种方法可以在构造函数中完成所有这些

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

你为什么不这样做呢:

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

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

var obj = {
    city : "A",
    town : "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');

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

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

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

城市和城镇的引号是可选的。这将导致类中只包含私有方法。通过使用prototype,您可以定义可从类外部访问的方法。如果您需要私有方法,您仍然可以在构造函数中定义它们。这不会导致私有方法。请阅读您的链接:“私有方法是构造函数的内部函数。”如果您在定义中声明函数,这基本上就是您将得到的结果。是的,当然。你可以在这里看到一些用法:[先前回答的问题][1][1]:可能重复的
var Cont = function(city, town) {
           this.city = city;
           this.town = town;
          }

var Obj = new Cont('A', 'B');
function myObject(c,t) {
    this.city = c;
    this.town = t;
}

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