我已经尝试了几种方法在html段落中随机进行打印但是它无法正常工作 有人可以帮我解决问题吗?
var randomPicker = Math.floor(Math.random() * 5);
var quotesArray = [];
function Quotes(quote, author) {
this.quote = quote;
this.author = author;
}
quotesArray[0] = new Quotes("Great minds discuss ideas; average minds discuss events; small minds discuss people.", "Eleanor Roosevelt");
quotesArray[1] = new Quotes("To be yourself in a world that is constantly trying to make you something else is the greatest accomplishment.", "Ralph Waldo Emerson");
quotesArray[2] = new Quotes("Great things are done by a series of small things brought together.", "Vincent Van Gogh");
quotesArray[3] = new Quotes("Some are born great, some achieve greatness, and some have greatness thrust upon them.", "William Shakespeare");
quotesArray[4] = new Quotes("A tiger does not shout its tigritude, it acts.", "Wole Soyinka");
quotesArray[5] = new Quotes("Thinking start with a problem and ends in a solution.", "Dr. Edward de Bono");
var rand = quotesArray[randomPicker];
function printQuote(){
for (var q in rand){
console.log(rand[q]); //works well but
//this
// document.getElementById("msg").innerHTML = rand[q];
//not working...
}
}
//this also not working...
document.getElementById("msg").innerHTHL = printQuote();
提前致谢。
答案 0 :(得分:0)
它不起作用的原因是quotesArray
的元素不是字符串而是对象本身。您需要访问这些对象中的属性才能获取字符串。
var randomPicker = Math.floor(Math.random() * 5);
var quotesArray = [];
function Quotes(quote, author) {
this.quote = quote;
this.author = author;
}
quotesArray[0] = new Quotes("Great minds discuss ideas; average minds discuss events; small minds discuss people.", "Eleanor Roosevelt");
quotesArray[1] = new Quotes("To be yourself in a world that is constantly trying to make you something else is the greatest accomplishment.", "Ralph Waldo Emerson");
quotesArray[2] = new Quotes("Great things are done by a series of small things brought together.", "Vincent Van Gogh");
quotesArray[3] = new Quotes("Some are born great, some achieve greatness, and some have greatness thrust upon them.", "William Shakespeare");
quotesArray[4] = new Quotes("A tiger does not shout its tigritude, it acts.", "Wole Soyinka");
quotesArray[5] = new Quotes("Thinking start with a problem and ends in a solution.", "Dr. Edward de Bono");
var rand = quotesArray[randomPicker];
function printQuote() {
document.getElementById("quote").innerHTML = rand.quote;
document.getElementById("author").innerHTML = rand.author;
}
printQuote();
<p id="quote"></p>
<p id="author"></p>
编辑:在JavaScript中创建新对象时,最好使用单数名称作为对象名称,而不是复数。
function Quotes
应为function Quote
。同样,new Quotes
应为new Quote
。
这只是一个惯例。