当我尝试运行以下功能: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'属性中唯一可以访问的变量是全局变量。 –