當我嘗試運行以下功能:JavaScript函數 - 不能調用通過函數接收變量嗎?
function saveUsername(wordOne, wordTwo, wordThree){
wordOne = wordOne.capitaliseFirstLetter();
wordTwo = wordOne.capitaliseFirstLetter();
wordThree = wordOne.capitaliseFirstLetter();
我得到以下錯誤:
Uncaught TypeError: Cannot call method 'capitaliseFirstLetter' of undefined
看來這個變量wordOne
是不確定的,這是沒有意義的,因爲我有絕對給它分配一個字符串,甚至在這個函數(saveUsername)被調用之前,將它輸出到頁面中的控制檯。控制檯顯示變量存儲得很好。
var wordOne = document.getElementById('droppedOne').innerHTML;
console.log("Word one chosen = " + wordOne);
這與功能是一個問題saveUsername沒有得到變量的正確的價值觀?
這裏是saveUsername怎麼叫...
<div class="userNameButton" onclick="saveUsername(wordOne, wordTwo, wordThree)">
這裏是如何的值會先保存:
function saveWord1(){
var wordOne = document.getElementById('droppedOne').innerHTML;
}
編輯:按照下面的解決方案中的意見我已經加入window
全球化,但現在得到不同的錯誤:
function saveWord1(){
window.wordOne = "test";
var wordOne = document.getElementById('droppedOne').innerHTML;
console.log("Word one chosen = " + wordOne);
<div class="userNameButton" onclick="saveUsername(wordOne, wordTwo, wordThree)">
未捕獲的類型錯誤:對象測試沒有方法 'capitaliseFirstLetter'
這裏是利用功能。該功能位於saveWord1
功能之上。
function capitaliseFirstLetter(string)
{
return string.charAt(0).toUpperCase() + string.slice(1);
}
請張貼你如何調用函數。如果你沒有傳遞任何參數給函數,那麼這些參數將是'undefined'。 –
啊,那一定是吧,我沒有在onclick舞臺上通過他們。 – Francesca
'onclick'屬性中唯一可以訪問的變量是全局變量。 –