使用对象方法实例化新对象javascript
我正在尝试为一个对象编写一个方法,该方法可以创建一个单独对象的新实例。javascipt可以做到这一点吗使用对象方法实例化新对象javascript,javascript,object,Javascript,Object,我正在尝试为一个对象编写一个方法,该方法可以创建一个单独对象的新实例。javascipt可以做到这一点吗 function Library () { this.name = "My Library"; this.createShelf = function () { <some code> }; } function Shelf (shelfNumber) { this.shelfNumber = shelfNumber; } var myLib =
function Library () {
this.name = "My Library";
this.createShelf = function () {
<some code>
};
}
function Shelf (shelfNumber) {
this.shelfNumber = shelfNumber;
}
var myLib = new Library();
myLib.createShelf();
函数库(){
this.name=“我的图书馆”;
this.createShelf=函数(){
};
}
功能架(shelfNumber){
this.shelfNumber=shelfNumber;
}
var myLib=新库();
myLib.createShelf();
是否可以使用库中的方法创建一个新的Shelf实例?是的。。你可以。只需修改代码即可返回
工具架
对象
function Library () {
this.name = "My Library";
this.createShelf = function (n) {
return new Shelf(n);
}
}
那你就可以这么做了
var myLib = new Library();
var shelf = myLib.createShelf(number);
Object.create的另一个可能用法是克隆不可变对象
function Library () {
this.name = "My Library";
this.createShelf = function () {
<some code>
};
}
var newObject = Object.create(Library());
newObject.createShelf();
函数库(){
this.name=“我的图书馆”;
this.createShelf=函数(){
};
}
var newObject=Object.create(Library());
newObject.createShelf();
是,这正在工作。我想我遗漏了return关键字。谢谢大家!@jacobbarnett很高兴能够帮助您:)有没有一种方法可以编写该方法,使新创建的工具架成为Library对象的属性?我在想图书馆之类的东西