2013-07-26 1 views
0

간단한 질문, 코드 본문이 반복적으로 반복적으로 스캔되는 코드 나 언어를 정의하는 용어/정의가 있습니까?코드 본문이 연속적으로 스캔 됨

그렇다면 명확하지 않은 특수 기술이 있지만 이러한 언어로 코딩/디자인 할 때는 명심해야합니다.

내가 코딩하는 언어는 JS이지만 브라우저를 통해 실행되지는 않으며 브라우저를 실행하는 iOS 앱에서 실행됩니다. TIA

니코

+0

REPL 환경에 대해 이야기하고 있습니까? – claydiffrient

+0

"폴링"대 함수 또는 이벤트 처리기에 대해 이야기하고 있습니까? –

+0

나는 무엇이 계속되고 있는지에 대해 더 명확하게 설명 할 수 있었다고 생각합니다. 예를 들면 : var foo; foo = foo + 1; (함수/이벤트 처리기/if-lop으로 래핑되지 않은) 코드 본문에서 foo는 화면에서 초당 4 회 증가합니다 (예 : 화면의 3 초 foo는 12가됩니다). 하지만 var foo = 0이라고 말하면; 그냥 var foo 대신; 1에서 멈추고 더 이상 증가하지 않습니다. – nemo

답변

2

이 내가 당신을 너무 다스 려 생각 이벤트 핸들러입니다.

link to where the example came from

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
    p { color:red; margin:5px; cursor:pointer; } 
    p:hover { background:yellow; } 
    </style> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 
    <p>First Paragraph</p> 

    <p>Second Paragraph</p> 
    <p>Yet one more Paragraph</p> 
<script> 
    **$("p").click(function()** { 
     $(this).slideUp(); 
    }); 
</script> 

경우 자바 스크립트가 클릭을 감지하기 위해 대기 예를 살펴 (코드는 항상 것입니다 즉,하지만 일이 발생하면 그것은 화재) 수 있습니다 클릭 기능 (굵게 표시됨)이 단락 요소를 클릭하기 만하면됩니다. 따라서 이벤트 핸들러를 사용하면 코드가 순간에 알려질 준비가되어있는 것처럼 보일 수 있습니다.

EDIT : 내가 생각하기에 당신이 요구하거나 이해하려고 한 것을 이해하지 못했기 때문에 의견을 말하십시오.

+0

감사합니다. Bob. 무슨 일이 일어나는지 설명하는 데 더 분명 해졌을 것 같습니다. 예를 들어 : var foo; foo = foo + 1; 코드 본문 (함수/이벤트 처리기/if-lop으로 래핑되지 않음)에서 foo는 화면에서 초당 4 회 증가합니다 (예 : 화면의 3 초 foo는 12가됩니다). 그리고 만약 내가 var foo = 0; var foo 대신; 1에서 멈추고 더 이상 증가하지 않습니다. – nemo

0

그냥 메모, 프로그래밍의 종류는 메모리 관점에서 매우 무겁습니다. 프로그램을 일정에 계속적으로 점검하는 것이 아니라 이벤트에 반응시키는 것이 훨씬 좋습니다.

자바 스크립트에는 기본적으로 정의 된 시간 동안 반복적으로 함수를 반복 실행하는 setInterval 함수가 있습니다.

http://www.w3schools.com/js/js_timing.asp

4

간단한 질문, 코드 또는 코드의 본문이 함수가 호출 될 때에 만 연속적 대 다시 반복 스캔 상기 언어 정의를 설명/용어가있다.

"명시 적 대 암시 적 이벤트 루프"에 대해 이야기하고 있습니까?

'정상'환경에서는 메시지 (키/마우스 동작)를 읽고 이벤트 처리기를 호출하는 "이벤트 루프"를 명시 적으로 작성하거나 호출해야합니다. CLI (REPL)의 경우 이것은 일반적으로 사용자 정의이지만 GUI의 경우 많은 플랫폼이 사용자 플랫폼에서 처리됩니다. 일반적으로 코드의 마지막 줄에 Events.run 또는 while (!quit) { process_events }

다른 환경 (예 : 브라우저 또는 Excel 문서)에서는 명시적인 이벤트 루프가 없습니다. "마우스 이동시"또는 "이 셀이 변경 될 때"라는 반응 코드 만 작성하십시오. 실제로 이벤트 루프가 있지만 플랫폼 아래 깊숙한 곳에 숨겨져 있고 그걸로 고칠 수는 없습니다.

분명히있을 수있는 특별한 기술이 있다면 이러한 언어로 코딩/디자인 할 때 유의해야합니다.

"암시 적 이벤트 루프"에 특정한 것은 없다고 생각합니다. 그러나 (단일 스레드) 이벤트 루프 프로그래밍을 염두에 두어야 할 사항 : 이벤트를 펌핑하기 위해 CPU를 자주 포기해야합니다. 옛날에 생각이 깊었던 (파일을 읽거나 계산할 때) 프로그램은 화면을 끌 때 문제를 일으켰습니다. 솔루션은 파일을 읽거나 청크로 계산하여 이벤트 루프를 자주 만듭니다. (오늘날 창 이동은 다르게 설계되었으므로 문제가 나타나지 않지만 다른 곳에서도 나타날 수 있습니다.)

+0

OP : 귀하의 설명에 감사하지만 임씨는 내 경험을 두려워 아직 없습니다. 나는 '이벤트 루프'에 대한 일반적인 생각을 너무 확신하지 못한다. 나는 당신이 공유 한 것에서 어떤 것을 배웠지 만 그것이 나의 질문에 답을하지 못했습니다. 원래 게시물에 업데이트 된 코멘트를 게시했습니다. – nemo

관련 문제