我想對所有3個函數(newQuote,postFB和tweet)使用相同的var randomQuote,但似乎不起作用。JS - var undefined
如果我把它放在newQuote函數中,只有這個函數可以工作,如果只有外部 - 只有共享函數可以工作,newQuote只會在點擊(?)時改變一次引用。
我可以使所有3個函數工作的唯一方法是如果我重複它 - 一個內部和一個外部的newQuote函數 - 是否有任何方式使它「幹 - 呃」?
var randomQuote = Math.floor(Math.random() * (quotes.length)); //outside
document.getElementById("refresh").onclick = newQuote;
function newQuote() {
var randomQuote = Math.floor(Math.random() * (quotes.length)); //inside
document.getElementById("facebook").onclick = postFB;
function postFB() {
var url = "http://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(quotes[randomQuote]);
window.open(url);
}
- 沒有包括在這裏嘰嘰喳喳的功能 - 相同的思路FB
任何建議,我什麼(初學者)做錯了什麼?先謝謝你!
你的newQuote函數調用應該有刷新onclick事件的圓括號。另外,你的newQuote函數需要一個大括號。至於在newQuote內部聲明它之後訪問randomQuote ...只需將randomQuote作爲參數傳遞給newQuote,並在函數內部執行需要的操作。 – SidTheBeard
謝謝你的回覆!帶括號的新引用?hmm - js book:「與內聯事件處理不同的是,」=「後面的函數名稱不在引號中/函數名稱後面沒有括號」/我仍然嘗試了這種方式 - 沒有用/ /缺少捲曲括號 - 只是沒有複製在這裏/鉻控制檯是非常有用的發現這樣的錯誤。不知道如果我理解「傳球和做什麼,我有功能做的」 - 試圖通過爲參數 - 搞砸了我的圖片/唯一的方式,它的工作原理,如果我重複自己與這一行代碼:( 代碼鏈接https://codepen.io/AsiaKo/pen/ybgxQY – AsiaKo