<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Designsor &#187; wscript</title>
	<atom:link href="http://www.designsor.com/tag/wscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.designsor.com</link>
	<description>End Web Developer&#039;s Blog</description>
	<lastBuildDate>Sat, 14 Jan 2012 02:35:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>谁说没有浏览器就跑不起来javascript？</title>
		<link>http://www.designsor.com/2010/04/27/everywherejs/</link>
		<comments>http://www.designsor.com/2010/04/27/everywherejs/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 14:16:56 +0000</pubDate>
		<dc:creator>xiaojue</dc:creator>
				<category><![CDATA[前端开发]]></category>
		<category><![CDATA[心情日志]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[javascript引擎]]></category>
		<category><![CDATA[wscript]]></category>
		<category><![CDATA[wsh]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.designsor.com/?p=650</guid>
		<description><![CDATA[周星星在唐伯虎点秋香里说“谁说没有枪头就捅不死人？”，嗯，其实套用过来用在这篇文章里也非常好。谁说没有浏览器就跑不起来javascript？ 首先，多的不说，看图，本地文件，js和wsf文件2个。我们没有用浏览器哈…… test.wsf中的代码：分析一下其实很好理解，构建一个windows系统的脚本文件.wsf。然后包含一个外部js文件，执行使用vbs和wsh的对象和方法，调用包含的js文件的定义函数getfreespace（）；然后输出结果使用wsh的echo方法。 fso中的js代码，启用ax控件中的sf对象，获得本地磁盘可用空间返回字符串。 执行后的结果，啊哈，成功执行。 看到这里你该恍然大悟了吧？啊？javascript还可以这么用呢？确实，很多人，都不太了解这是怎么一回事。其实道理不难理解，javascript说白了，一个脚本语言，而这里上面的例子是调用的微软的jscript和wsh对象完成的，中间引用了一个外部js脚本。唔，别晕。下面看这个解释词条，它列出了我们所理解的各种javascript概念： javascript脚本语言：一种语言的统称，由ECMAScript262规范，涵盖core javascript，jscript，actionscript等，而非特指其一。 浏览器javascript：包括DOM,BOM模型等在内的对象体系支持的浏览器javascript脚本，不特指具体脚本环境（因为有太多的浏览器内核也就是javascript解释引擎），是目前最广泛的应用，也叫做cliet-side javascript。 corejavascript：也叫javascript，主要是指Netscape/Mozilla系列的浏览器下的javascript，是该语言的主要规范之一。 Jscript：也包含上面那个小破例子中的AX控件对象，泛指微软开发的javascript比如支持的浏览器IE系列。 通过上面的解释，我觉得你该明白了，也当你明白了，javascript是有多少种称呼和版本品牌和叫法啊，完全是历史的原因造成的。不同公司，不同环境，不同宿主对象的结果。幸好，最后他们都归于一个标准EMAC262，基于他的语法和规则，我们的到了各种不同演变后的javascript。 嗯，javascript这个动态脚本语言，他需要一个宿主对象的支持才可以运行，也就是一个语言的运行环境，在浏览器里是windows窗口对象还有dom提供的xml节点对象等，然后使用他们各自浏览器提供的javascript解释器解释翻译执行。 群里今天还在讨论了这个问题，javascript引擎技术。嗯好吧，我也google到了，特此总结下常用的几款： spiderMonkey（C语言编写应用在Mozilla下），javascriptCore（C++编写运行在safari下），Rhino（java编写），JScript（windows环境以及IE）等。&#8212;&#8212;&#8212;（其实actionscript应该也算是另类中的一个） 啊哦，说到这里，那么至少我们的javascript离开了我们的可爱的浏览器，他还可以在哪运行呢？嗯，那就是有它解释器的环境下运行了，比如java平台环境下的Rhino，比如我们的windows系统，如本文最开始的WSH例子。他们都属于各自的不同属性和方法，但是本质都还是符合EMAC规范的javascript。 噢，噢，噢。绕了一大圈。好了，这说了半天，javascript还是一个脚本语言啊。嗯哼，对了，他就是一门需要宿主解释器，轻型灵活，弱面向对象的脚本语言。（但看过此文后您可以把“浏览器下”这4个字儿去掉了~） 最后给出一个windowsscripthost手册并借用Michael和我的一段经典语QQ聊天记录结束本文： Faquir 21:22:26 现代语言基本都要你所说的宿主  Faquir 21:22:33 JAVA要JVM &#38; JDK Faquir 21:22:39 .NET要framework  小爝 21:22:44 对。。 Faquir 21:22:48 由此可见,  小爝 21:22:52 咋？ Faquir 21:22:54 js与.NET,JAVA平起平坐]]></description>
			<content:encoded><![CDATA[<p>周星星在唐伯虎点秋香里说“谁说没有枪头就捅不死人？”，嗯，其实套用过来用在这篇文章里也非常好。谁说没有浏览器就跑不起来javascript？</p>
<p>首先，多的不说，看图，本地文件，js和wsf文件2个。我们没有用浏览器哈……</p>
<p><img class="alignnone" title="wsript" src="http://www.designsor.com/wp-content/uploads/2010/04/111.jpg" alt="wsript" /></p>
<p>test.wsf中的代码：分析一下其实很好理解，构建一个windows系统的脚本文件.wsf。然后包含一个外部js文件，执行使用vbs和wsh的对象和方法，调用包含的js文件的定义函数getfreespace（）；然后输出结果使用wsh的echo方法。</p>
<p><img class="alignnone" title="wsript" src="http://www.designsor.com/wp-content/uploads/2010/04/222.jpg" alt="wsript" /></p>
<p>fso中的js代码，启用ax控件中的sf对象，获得本地磁盘可用空间返回字符串。</p>
<p><img class="alignnone" title="wsript" src="http://www.designsor.com/wp-content/uploads/2010/04/333.jpg" alt="wsript" /></p>
<p>执行后的结果，啊哈，成功执行。</p>
<p><img class="alignnone" title="wsript" src="http://www.designsor.com/wp-content/uploads/2010/04/444.jpg" alt="wsript" /></p>
<p>看到这里你该恍然大悟了吧？啊？javascript还可以这么用呢？确实，很多人，都不太了解这是怎么一回事。其实道理不难理解，javascript说白了，一个脚本语言，而这里上面的例子是调用的微软的jscript和wsh对象完成的，中间引用了一个外部js脚本。唔，别晕。下面看这个解释词条，它列出了我们所理解的各种javascript概念：</p>
<p><strong>javascript脚本语言：</strong>一种语言的统称，由ECMAScript262规范，涵盖core javascript，jscript，actionscript等，而非特指其一。</p>
<p><strong>浏览器javascript：</strong>包括DOM,BOM模型等在内的对象体系支持的浏览器javascript脚本，不特指具体脚本环境（因为有太多的浏览器内核也就是javascript解释引擎），是目前最广泛的应用，也叫做cliet-side javascript。</p>
<p><strong>corejavascript：</strong>也叫javascript，主要是指Netscape/Mozilla系列的浏览器下的javascript，是该语言的主要规范之一。</p>
<p><strong>Jscript：</strong>也包含上面那个小破例子中的AX控件对象，泛指微软开发的javascript比如支持的浏览器IE系列。</p>
<p>通过上面的解释，我觉得你该明白了，也当你明白了，javascript是有多少种称呼和版本品牌和叫法啊，完全是历史的原因造成的。不同公司，不同环境，不同宿主对象的结果。幸好，最后他们都归于一个标准EMAC262，基于他的语法和规则，我们的到了各种不同演变后的javascript。</p>
<p>嗯，javascript这个动态脚本语言，他需要一个宿主对象的支持才可以运行，也就是一个语言的运行环境，在浏览器里是windows窗口对象还有dom提供的xml节点对象等，然后使用他们各自浏览器提供的javascript解释器解释翻译执行。</p>
<p>群里今天还在讨论了这个问题，<a href="http://wenku.baidu.com/view/411eb8d528ea81c758f5789f.html" target="_self">javascript引擎技术</a>。嗯好吧，我也google到了，特此总结下常用的几款：</p>
<p><strong>spiderMonkey（C语言编写应用在Mozilla下），javascriptCore（C++编写运行在safari下），Rhino（java编写），JScript（windows环境以及IE）等。&#8212;&#8212;&#8212;（其实actionscript应该也算是另类中的一个）</strong></p>
<p>啊哦，说到这里，那么至少我们的javascript离开了我们的可爱的浏览器，他还可以在哪运行呢？嗯，那就是有它解释器的环境下运行了，比如java平台环境下的Rhino，比如我们的windows系统，如本文最开始的WSH例子。他们都属于各自的不同属性和方法，但是本质都还是符合EMAC规范的javascript。</p>
<p>噢，噢，噢。绕了一大圈。好了，这说了半天，javascript还是一个脚本语言啊。嗯哼，对了，他就是一门需要宿主解释器，轻型灵活，弱面向对象的脚本语言。（但看过此文后您可以把“浏览器下”这4个字儿去掉了~）</p>
<p>最后给出一个<a href="http://www.jb51.net/shouce/script56/index.html" target="_blank">windowsscripthost手册</a>并借用<a href="http://www.douban.com/people/Minority/" target="_blank">Michael</a>和我的一段经典语QQ聊天记录结束本文：</p>
<p>Faquir 21:22:26<br />
现代语言基本都要你所说的宿主 <br />
Faquir 21:22:33<br />
JAVA要JVM &amp; JDK<br />
Faquir 21:22:39<br />
.NET要framework <br />
小爝 21:22:44<br />
对。。<br />
Faquir 21:22:48<br />
由此可见, <br />
小爝 21:22:52<br />
咋？<br />
Faquir 21:22:54<br />
<strong>js与.NET,JAVA平起平坐</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designsor.com/2010/04/27/everywherejs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

