[英]HTML onclick - How to Access a Function
我需要從一個單獨的文件中的html onclick訪問另一個函數中的一個函數,我認為是因為它在另一個函數中,這就是為什么它返回未定義狀態,我可以訪問嵌套在索引文件中的函數,但是一個我需要我不能。 該函數在我的套接字函數中,因為它使用其ID。
我嘗試訪問的功能采用以下格式:
io.of('/main').on('connection', function (socket) {
socket.on('chat message', function (msg) {
function oneCall() {
我正在嘗試訪問的是此oneCall函數。 當我調用此套接字范圍之外的函數時,它可以正常工作,但是我需要在套接字內使用該函數嗎?
謝謝。
您可能要查找功能范圍 。 如果您的函數僅存在於另一個函數中,那么您將無法訪問另一個函數范圍之外的那個函數
例:
function exampleFunction() {
function otherFunction() {
//do something
}
otherFunction();
}
從這個非常小的示例中,我們構造一個函數並在另一個函數中調用該函數。 現在,如果您嘗試在exampleFunction范圍之外調用otherFunction ,則它將不起作用,因為它在exampleFunction范圍之外。 otherFunction僅存在於exampleFunction的范圍內。
現在,如果您在其他函數的范圍之外聲明了函數,則可以在頁面上的任何位置訪問該函數。
例:
function exampleFunction() {
otherFunction();
}
function otherFunction() {
//do something
}
這些函數現在可以獨立運行,並且otherFunction可以在任何需要的地方使用。 您可以選擇呼叫otherFunction內exampleFunction,將執行otherFunction每exampleFunction被調用時。
如果您希望在onclick功能中使用otherFunction ,則可以立即執行此操作,因為它是獨立的,並且存在於全局范圍內 。
例:
<button onclick="otherFunction();">Click me!</button>
根據您最近的評論,關於在函數oneCall中訪問特定值(在您的情況下為套接字ID),您可以選擇將值解析為函數的參數。
例:
function oneCall(socketID) {
//do something
}
函數nowCall中的參數socketID現在可以用作任何JavaScript變量,您可以使用它執行所需的任何邏輯。
並將套接字ID值解析為函數,您需要執行以下操作:
onecall(variable_containing_socket_id);
當然,您也可以在一個函數中聲明多個參數。
例:
function oneCall(socketID, anotherParameter, andAnotherOne) {
//do something
}
onecall(socket_id, value, anotherValue);
約函數參數W3Schools的簡單的信息在這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.