저는 javascript에 상당히 익숙하며 기초 만 알고 있습니다. init 함수가 호출되면 누구나 다음 코드를 설명 할 수 있습니까?누구나 다음 코드를 설명 할 수 있습니까?
다음 코드는 일단 init 함수가 호출되면 id 출력으로 HTML 요소에 매핑되는 전역 변수 출력을 설정한다는 것입니다. 그런 다음 testWebSocket javascript function
을 호출합니다. 이렇게하면 WebSocket 객체가 만들어집니다. 이 부분은 내가 완전히 이해하지 못하는 부분입니다.
아래 내용에 대한 이해가 정확하면 나를 수정하십시오. 라인 websocket.open = function(evt) { onOpen(evt) };
에서
function(evt) { onOpen(evt) };
에 의해 반환되는 무엇으로 설정하는 열린라는 이름의 속성이 있습니다.
이 대가로이 함수는 onOpen javascript 함수를 호출합니다.
function onOpen(evt) {
writeToScreen("CONNECTED");doSend("WebSocket rocks");
}
이것은 onSend javascript 기능에 대한 호출이 있습니다.
function doSend(message) {
writeToScreen("SENT: " + message);websocket.send(message);
}
그럼 첫 번째 질문은 WebSocket object(websocket.open)
에 무엇이 설정되어 있습니까 ??
두 번째 질문 : 다음은
는 testWebSocket() javascript function
이 실행되는 순서입니다.
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) {
onOpen(evt)
};
websocket.onclose = function(evt) {
onClose(evt)
};
websocket.onmessage = function(evt) {
onMessage(evt)
};
websocket.onerror = function(evt) {
onError(evt)
};
아래 코드를 실행하면 오류가 발생하는 경우에만 브라우저에 오류가 인쇄됩니다.
그래서 내 질문은 WebSocket object(websocket) open, close, onmessage, onerror
의 특성이 설정되고 각각에서 writeToScreen 함수를 호출하고 있는데 왜 설정되지 않고 무엇이 진행되고 있는지는 testWebSocket() javascript function
입니다.
function init() {
output = document.getElementById("output");
testWebSocket();
}
function testWebSocket() {
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) {
onOpen(evt)
};
websocket.onclose = function(evt) {
onClose(evt)
};
websocket.onmessage = function(evt) {
onMessage(evt)
};
websocket.onerror = function(evt) {
onError(evt)
};
}
function onOpen(evt) {
writeToScreen("CONNECTED");
doSend("WebSocket rocks");
}
function onClose(evt) {
writeToScreen("DISCONNECTED");
}
function onMessage(evt) {
writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data + '</span>');
websocket.close();
}
function onError(evt) {
writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
}
function doSend(message) {
writeToScreen("SENT: " + message);
websocket.send(message);
}
function writeToScreen(message) {
var pre = document.createElement("p");
pre.style.wordWrap = "break-word";
pre.innerHTML = message;
output.appendChild(pre);
}
전체 코드를 살펴 보시겠습니까? 왜'클래스''메소드'와'변수'가 무엇인지 배우지 않고, "변수 전달 방법"조차도, 당신은 이것에 대해 봤습니까? –