Tôi có một vấn đề Lỗi Loại:Javascript: Lỗi Loại: ... không phải là một constructor
function artist(name) {
this.name = name;
this.albums = new Array();
this.addAlbum = function(albumName) {
for (var i = 0; i < this.albums.length; i++) {
if (this.albums[i].name == albumName) {
return this.albums[i];
}
}
var album = new album(albumName);
this.albums.push(album);
return album;
}
}
function album(name) {
this.name = name;
this.songs = new Array();
this.picture = null;
this.addSong = function(songName, track) {
var newSong = new songName(songName, track);
this.songs.push(newSong);
return newSong;
}
}
cung cấp cho các lỗi sau:
TypeError: album is not a constructor
tôi không thể tìm ra vấn đề. Tôi đọc rất nhiều bài viết khác, nhưng tôi không thể tìm thấy một vấn đề tương tự. Có thể nào nó không được phép tạo một đối tượng trong một đối tượng khác? Làm thế nào tôi có thể giải quyết vấn đề này?
Tương đương với 'var anbom; album = album mới (tên album); Điều đó sẽ làm cho nó rõ ràng hơn. –
@Felix Kling: Cảm ơn sự giúp đỡ của bạn! Tôi đã viết "var album; album = new Album (albumName);" => nhưng không thành công – user2089120
@ user2089120 Xem http://jsbin.com/uhapel/1/edit (mở bảng điều khiển) –