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

Instantiating a javascript object and populating its properties in a single line

本文关键字:一行 填充 属性 对象 一个 javascript 实例化      更新时间:2024-07-01

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

  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');