2012-11-20 3 views
0

저는 AJAX와 같은 클라이언트 측 작업을 위해 JavaScript를 사용하기 때문에 JavaScript가 서버 측 언어로 어떻게 작동하는지 이해하려고 노력해 왔습니다. 누군가가 간결하게 나에게 설명 할 수 있을까요? 자바와 OOP 경험이 있고 JS가 무국적이라는 사실에 대해 제 머리를 감쌀 수는 없어요.서버 측 언어로서의 JavaScript

답변이 정말 깊고 심오한 경우 커뮤니티 위키에 추가 할 예정입니다. nodeJS가 JS를 사용하여 서버 측 코딩을 수행한다는 것을 알고 있지만 Google V8 엔진을 사용하여 컴파일 되었기 때문입니까?

+2

[node.js] (http://nodejs.org/) – Eric

+1

체크 아웃 - JS가 무국적이라고 들었습니까? – Matt

+1

"JS는 무국적자입니다."- shat은 그 의미 일까? 이 언어는 가변 상태를 허용합니다 (실제로'= '문자를 사용할 때마다 또는 수많은 메소드 중 하나를 사용합니다). 브라우저가 실행되는 JavaScript 코드를 샌드 박싱하는 것에 대해 이야기하고있을 수 있습니다. (물론 페이지 방문에 대한 상태 지속성을 강화하는 과정에서 쿠키, WebSQL 및 IndexedDB와 같은 새로운 API가있을 수 있습니다. 그 언어의 구현과 언어를 혼동하게됩니다. – delnan

답변

3

당신은 자바 스크립트가 상태 무엇을 반면에

, AJAX에, JS이 페이지의 논리로 사용됩니다 .. 의미합니까? 여기에 (서버 재부팅 손실) 과도 상태와 간단한 node.js 서버 :

var http = require('http'); 

var someState = 0; 

http.createServer(function(req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Javascript has state: ' + someState++ + '\n'); 
}).listen(1337, '127.0.0.1'); 
console.log('Server running at http://127.0.0.1:1337/'); 

내가 nodeJS는 JS를 사용하여 코딩 서버 측을 수행 알고는 있지만, 그것이 구글 V8 엔진을 사용하여 컴파일 때문입니까?

"나는 PHP로 서버 측 코딩을 할 수 있다는 것을 알고 있지만, PHP 런타임이 필요하기 때문입니까?"

+0

someState의 출력은 + +입니다 .... 그것은 오른쪽으로 증가합니까? – LaneLane

+0

'x ++ + y' (그리고'x +++ y')는'(x ++) + y'와 같으므로 예, 증가합니다 – Eric

관련 문제