易截截图软件、单文件、免安装、纯绿色、仅160KB

编译为JavaScript:不兼容性的另类解决方案


JavaScript很常用,但也因为其不兼容性很令人头疼。一个另类的解
决方法就是,将其他语言编译为JavaScript。本文列举了GWT、Smalltalk、Python等语言将JavaScript做为编译目标的情
况。
搞过Web开发的都或多或少摸过JavaScript,而尽管Javascript无处不在,但还是很难让人喜欢它。在类似
Google V8、Apple/WebKit的Nitro/SquirrelFish
Extreme和Firefox的TraceMonkey这样的VM出现之前,Javascript的性能并不理想。多个浏览器间互不兼容的实现也
让开发十分痛苦
。jQuery和其他一些类库提供了方便好用的抽象,可以用同一种API进行编程,甚至消除不兼容性。
另一种解决方法:编译为JavaScript
解决该问题的另一种方法是彻底隐藏Javascript,将其作为编译目标。Google的GWT就是一个很成熟的例子,它接受Java代码(用
Java API的一个子集写的),并将它编译为针对浏览器的Javascript。现实中GWT的真实案例之一就是Google
Wave客户端。最近,一些其他语言的实现也加入了这一行列。
Avi Bryant,Smalltalk Seaside
Web框架的作者,开发了Clamato,这是一种能编译为常见Javascript的Smalltalk方言。Avi在FutureRuby时
InfoQ对他的采访中描述了Clamato的设计原则。
Clamato的指南页面允许你在浏览器中打开一个Clamato(Smalltalk)类浏览器,查看并编辑Clamato源代码。要查找类的
话,就使用类浏览器左上角的文本框。比较有意思的是那个自托管的基于PEG的Clamato解析器(在文本框中键入“PP”可以看到解析器和各种组合程序
的类)。从Seaside风格的HTML构造器(Clamato浏览器中的HTMLCanvas类)中我们可以看到Seaside的影子。可视化组件能用
它来构造GUI,例如,指南中的计数器组件:
renderOn: html  
  html h3 with: 
@counter
.  
  html button  
    with: 
'+'
;  
    onClick: [
@counter
 := 
@counter
 + 1. 
self
 reload].  
  html button  
    with: 
'-'
;  
    onClick: [
@counter
 := 
@counter
 - 1. 
self
 reload]. 
renderOn:
html这一行定义了一个新的方法,范例的其他部分是方法体,它


相关文档:

javascript memo

1.javascriptでURLの"?"以降のパラメータを取得:
var query = window.location.search.substring(1);
var pairs = query.split("&");
2.IE浏览器默认的功能停止
   (Tab键在地址栏等中的移动停止)
 
function stopDefaultKey(){
        window.e ......

JavaScript counter

当页面加载以后,执行JavaScript,按秒开始计数:
JavaScript function:
<SCRIPT language="JavaScript">
<!--Timer in JavaScript
var timerform
speed=1000
function dotimer()
{
today=new Date()
slutsec=today.getSeconds()
slutmin=today.getMinutes()
sluttim=today.getHours()
sluta=(slutse ......

javascript中FORM表单的submit()方法经验教训

@author    songfeng     
       因为JS内对象的方法实际上是存储语句的一个类似于指针的东西. 其指向了内存的一个位置, 也就是其函数的位置,当然也可以让其指向一个变量值.
       var foo = new Object();
&nbs ......

JavaScript的内置对象和浏览器对象


在javascript中对象通常包括两种类型:内置对象和浏览器对象,此外,用户还可以自定义对象。
对象包含两个要素:1.用来描述对象特性的一组数据,也就是若干变量,通常称为属性。2.用来操作对象特性的若干动作,也就是若干函数,通常称为方法。
浏览器对象
对象
含义
anchor
当前文档中设置了name属性的超链接
appl ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号