首页 > JavaScipt程序一定要用浏览器里的解释器执行吗?

JavaScipt程序一定要用浏览器里的解释器执行吗?

初学JavaScript,有个很大也很傻的问题:JavaScipt程序一定要用浏览器里的解释器执行吗?

我们知道,向Ruby和Python这样的动态语言,在终端里打开它们的解释器就行了,或者把代码放到文件里也可以执行。但是js就不一样。我所知道的是,写一个.js文件,然后在一个html文件里引入它,再执行;或者干脆把js代码放到html文件里。但是,这样不烦吗?

(当然,node.js不一样,可以直接“node example.js”就执行。不过,有些代码在node里执行不了,比如alert()函数它就找不到。)

写js代码,能不能像写Ruby或者Python一样?既可以放到文件里执行,也可以交互执行,而不需要写一些html代码后执行?


v8 ,rhino都可以。


是否一定要放到浏览器里面支持,完全看应用环境的支持程度。
比如mongodb的shell就是js,当然各种应用的环境支持的程度肯定不一样。


只要应用环境支持, javascript 都能运行
gnome-shell, HP webOS, desktop widgets
还有你前面提到的 node.js (不支持 alert, 但是有更好用的 console)
http://en.wikipedia.org/wiki/JavaScri...


只要有解释器(js引擎)就能运行, 比如 google 的V8


感谢node.js,让javascript也可以用来写台后程序


所有编程语言都是采用下面的一些步骤实现 从程序代码 到 执行的
对于需编译代码: 编译 代码 成为 可执行的 机器代码 在机器中执行 如C/C++
对于需编译成伪代码的 : 编译 代码 成为 可执行的 伪代码(针对运行环境——虚拟机的可执行代码),在虚拟机中执行, 如java
解释执行的代码:在解释运行环境(虚拟机)中读取代码,执行

当然这样的分类也不是绝对的,比如一样可以写出对C进行解释执行的环境,让javascript编译执行。

其实 程序代码 的执行最终条件是变成 可执行的机器指令,这个过程可以是编译也可以是解释执行,但无论如何,都有一个 程序代码 ————> 可执行机器代码 的转换过程,只要有条件满足这个过程, 程序代码 就是可执行的了(其实这个可执行的也是有条件的,就是机器代码的执行环境)。

由上可见,程序代码 的可执行 需要能够转换成 可执行的机器码,并放置在对于环境中。

从而可以明确 javascript 并不一定必须要浏览器中执行,甚至不一定是解释执行。 你前面提到的node.js 就是一个javascript的运行环境,它还提供了很多浏览器环境中不能提供的对系统环境调用的接口来丰富javascript对系统操控能力,例如系统进程创建控制能力。 你如果有能力也能自己实现javascript的运行环境/编译系统,来实现对特定环境下利用javascript编程实现控制运行。


gnome3 也支持 js


http://www.jsfiddle.net/
这个页面用来调试js蛮方便的。


有一个问题要先考虑:用JS干嘛?为什么在html中引入js?

其实用很多情况下使用JS是用来做和DOM相关的(但从js在Web标准的角度,而不从js语言角度),那么就应该和HTML一起。这点可能和node.js不一样,也和python或者ruby等不一样。如果只是想要执行js代码供学习之用,推荐使用Firefox firebug中的控制台。

从javascript语言角度来看,其实是可以单独来用的,只不过因为其长期用于web中。不过node.js的出现似乎带来了转机。

参考链接:
http://.com/question/160/...
http://baike.baidu.com/view/7921.htm#...
http://www.w3school.com.cn/htmldom/do...
http://www.aqee.net/tag/javascript/


浏览器可以交互,chrome, ctrl+shift+i,

【热门文章】
【热门文章】