gpt4 book ai didi

javascript - 从另一个 js 源文件调用函数时出现未定义错误

转载 作者:行者123 更新时间:2023-11-28 11:28:59 25 4
gpt4 key购买 nike

我有一个问题,涉及在另一个 js 源文件中调用函数。

我在带有调用该特定函数的文件之前声明了源文件功能。我认为这会起作用,但它给出了一个未定义的错误。

我的文件中还有一个函数,它调用稍后声明的源文件中的函数。这将涉及相同的文件,但方向相反。

函数在文档就绪语句(函数)之间声明。

有没有办法避免未定义的错误?

这就是我的设置方式:

<script type="text/javascript" src="includes/livetabs.js"></script>
<script type="text/javascript" src="includes/chat.js"></script>


//this is in the chat.js file
$(document).ready(function(){

function chatWith(chatuser) {
check=iscookieUsername();
if (!check){
chatusersuspended=chatuser;
showchatinlogform();
}
createChatBox(chatuser);
$("#chatbox_"+chatuser+" .chatboxtextarea").focus();
}


});

//this is in the livetabs.js file
$(document).ready(function(){

function iscookieUsername(){
if (!tbusername){

return false;
}
if (issessionusername){//flag if session has already been set

return true;
}
$.ajax({
url: "includes/livetabs.php",
data: ({username: tbusername, action: "setsessionusername"}),
cache: false,
type: "POST",
dataType: "json",
success: function(data) {
//store username in php session
//some personal user preferences returned
usernamecookie=data.cookie;
trackuser=data.track;
issessionusername=1;
}});

return true;
}

});

谢谢理查德

最佳答案

如果您在 $(document).ready 方法调用中定义了函数,则它们从外部将不可见。尝试在就绪方法调用之外定义它们。

$(document).ready(
function()
{
var test = function() { alert('test'); };

test(); //It will work here.

anotherTest(); //This will also work.

}

);

function anotherTest() { alert('anotherTest'); };

test(); //You can't call test function here because test is defined inside the anonymous function passed to the 'ready' method.

anotherTest(); // Alerts 'anotherTest'.

如果您的代码不是这样设计的,请发布您的源代码,以便识别问题。

关于javascript - 从另一个 js 源文件调用函数时出现未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1089931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com