2017-02-11 42 views
0

我是javascript的新用户。我想通过使用print方法为具有标题,作者和长度属性的书写一个构造函数。我尝试了以下,我知道它不工作。请帮助!Thx!如何写一个书写构造函数并打印所有属性而不使用Javascript中的CLASS函数?

这里是我试图代码:

function Book(title,author,page){ 
    this.title = title; 
    this.author = author; 
    this.page = page 
    this.toString = toString 
} 

function toString(){ 
    return this.title + 'by' + this.author + ', is '+ this.page + ' long.' 
} 
print(){ 
    console.log(this.toString()); 
} 

var mobyDick = new Book ('Hamlet' , 'William Shakespeare' , 82); 
Hamlet.print(); 
+0

什么是“哈姆雷特”应该指的是什么?你为什么要'印刷'和'toSring'? 'console.log(mobyDick.toString())'会工作得很好。 –

回答

1

您可能希望将方法添加到原型,以便方法是通过Book所有“实例”共享。

function Book(title,author,page){ 
    this.title = title; 
    this.author = author; 
    this.page = page 
} 

Book.prototype.toString = function(){ 
    return this.title + 'by' + this.author + ', is '+ this.page + ' long.' 
} 
Book.prototype.print = function(){ 
    console.log(this.toString()); 
} 

var mobyDick = new Book ('Hamlet' , 'William Shakespeare' , 82); 

mobyDick.print() 

如果您要开始使用,我可以与您联系的最佳资源是您不了解JavaScript。 在这里,你有一个link

希望你觉得它很有用。干杯!

+0

谢谢@Carlos!我会检查出来的。 –

相关问题