使用对象方法实例化新对象javascript

时间:2015-01-09 08:34:19

标签: javascript object

我正在尝试为一个可以创建单独对象的新实例的对象编写方法。这对javascipt有可能吗?

function Library () {
  this.name = "My Library";
  this.createShelf = function () {
       <some code>
  };
}

function Shelf (shelfNumber) {
  this.shelfNumber = shelfNumber;
}

var myLib = new Library();
myLib.createShelf();

是否可以使用库中的方法创建新的Shelf实例?

2 个答案:

答案 0 :(得分:2)

是的......你可以。只需修改代码即可返回Shelf对象。

function Library () {
   this.name = "My Library";
   this.createShelf = function (n) {
       return new Shelf(n);
   }
}

然后你可以这样做

var myLib = new Library();
var shelf = myLib.createShelf(number);

答案 1 :(得分:0)

Object.create 的另一种可能用法是克隆不可变对象。

    function Library () {
      this.name = "My Library";
      this.createShelf = function () {
       <some code>
  };
}

    var newObject = Object.create(Library());

     newObject.createShelf();