查看完整版本: [資料] Java&JavaScript 分別&介紹

star 2006-2-5 02:29 PM

[資料] Java&JavaScript 分別&介紹

以下資料由 [url=http://neural.cs.nthu.edu.tw/jang/books/JavaScript/]JavaScript 程式設計與應用:背景及特色[/url] 轉載<br />9|no[8n q0~
---<br />
7E2DS M o2E8gg <br />
z!z1r,}.F JavaScript 早期是由 Netscape Communications 公司所開發的一種解譯式程式語言,專門用在網頁中,並在用戶端的電腦執行,以提高網頁的互動性為主要目標。早期的瀏覽器,例如 Netscape,也只有支援 JavaScript 為主要的客戶端網頁程式語言。而近期的瀏覽器,例如 IE,通常可以支援兩種程式語言,包含 JavaScript 和 VBScript,但是 JavaScript 還是網頁內訂預設的客戶端程式語言。因此只有 JavaScript 能同時適用於 Netscape 和 IE 瀏覽器,而 VBScript 只能適用於 IE 瀏覽器。
u m;R?^ A <p>
d7a Q2F6k0A;ws%z JavaScript 開始是內嵌於網頁的程式語言,但由於其易學易用,又很接近於一般的 C 和 C++ 語言,所以受到很大歡迎。微軟有鑑於此,又將此此言擴充到其他平台,如 IIS(Internet Information Server,微軟的網頁伺服器)的 ASP(Active Server Pages)和單機可執行的 WSH(Window Scripting Hosts)。因此,JavaScript 可發揮的平台可以說是越來越多,可以列舉如下:
+ah-Sh'RBh <ul>~(A7R'~(lnM\
<li>用戶端:預設的網頁程式語言,可用於 IE 或 Netscape 瀏覽器。
yz Qv Y <li>伺服器:適用於微軟 IIS 網頁伺服器的 ASP 語言環境,可在網頁送到客戶端之前,進行各種處理,或和資料庫進行資料存取。)`[0~ORF!U!@$M;]
<li>單機版:適用於微軟的視窗作業系統,包含 Windows 98/ME/2000/XP 等,可用於取代原先功能不強的 DOS 批次檔(Batch Files),特別適用於處理日常性或重複型的工作,例如網頁的抓取或帳號的建立,等等。2Fq.|O| f:^|,kP
</ul>
%kd5hXc%q!z ]~ <p>
'aT+e3m RdJ4} 由於篇幅有限,本篇教材對於 JavaScript 的介紹,僅限於在用戶端網頁的應用,至於在伺服器端及在單機方面的使用,可參考本書的另外兩篇。因此以下的介紹,均只限於內嵌於用戶端網頁的程式設計與應用。}F {+L*PD-KD
<p>"u%z,G"~`3r p|t
基本上來說,只要是 Netscape 2.0 以上,或是 Explorer 3.0 以上,都可以支援 JavaScript,但是這兩種瀏覽器支援的程度並不完全相同。事實上 IE 所支援的版本是 JScript,這是微軟本身所發展出來的 JavaScript 版本,和 Netscape 的 JavaScript 雖有小異之處,但其特性及語法仍大致相同,因此在本書中,我們暫時可將 JavaScript 與 JScript 視為同一種語言。無論是 JavaScript 或是 JScript,都滿足 ECMA(European Computer Manufacturer's Association,歐洲電腦製造商協會)所提出來的標準,滿足此標準的語言稱為 ECMAScript,當初 Netscape 和微軟也都有參與此語言的制訂。
%s.N}c+D5cW+^:w"\8c <p><fieldset><legend>提示</legend><div class=hint>有關於 ECMA 所制訂的各項電腦相關標準,讀者可以參考 ECMA 的標準規範網頁: "<a target=_blank href=http://www.ecma-international.org/publications/standards/stnindex.htm>[url]http://www.ecma-international.org/publications/standards/stnindex.htm[/url]</a>",其中也包含了對於 ECMAScript 的規範文件。</div></fieldset><p>
P~ _&@)x,I SU6k
.T6Y'q.nn+MX;M#b"x0Q JavaScript 在網頁程式設計的主要功能可列舉如下:
a'c3Z [^ <ul>
2Oo1B2Se$~ <li>提高網頁互動性及趣味性,例如以 JavaScript 所發展出來的各種遊戲。
#Jy2b}hT9hXJ\ <li>執行在用戶端的計算及驗證,以減少伺服器端的計算及網路流量,例如表單驗證(Form Validation)。
1\fhRb <li>Cache功能,可將未用到的圖檔(或其他檔案)預先抓回,以增加使用者的便利。
5n(N9I s&P </ul>@?6V/B*w
JavaScript 語言可以產生各種不同的物件,以及與物件相關的方法與性質,因此此語言可以說是「物件基礎」(Object-based)的程式語言,但並不是「物件導向」(Object-oriented),因為它在物件方面的功能並沒有像 C++ 那麼完全。此外,JavaScript 屬於底稿式語言(Scripting Language),相關的特性可以列表說明如下:
_7q.m{K] <ul>8_K6GE~b|r1a`
<li>JavaScript 的程式碼是內嵌於 HTML 原始碼之中,並由瀏覽器的 JavaScript 解譯器(Interpreter)來執行程式碼,最後將結果呈現於瀏覽器。換句話說,JavaScript 的程式碼是由瀏覽器來執行,所以在用戶端絕對看的到 JavaScript 的原始碼,較難加以保護。
iXLjD r?g7ed:K <li>由於安全性的考量,除了讀寫 Cookies(請參見篇教材後面的介紹)之外,JavaScript 並無法讀取用戶端的檔案或硬碟。6b4?EA7U
<li>使用變數時,不需要宣告變數型態,JavaScript 會自動決定。V(Gc.yAneZ\7_B
<li>對於不同的資料型態(如字串與數值),JavaScript 可以根據不同情況,自動進行資料型態的合理轉換。
Xk p ZtBg </ul>
"A5zu,H2F!u v#b:v <p>
-P[SX%G 其他和 JavaScript 功能相近的用戶端程式語言,可列舉如下:
[I1}7f5Uc5|0_ <ul>
f8? Gbu#h7S[P <li>VBScript: 由微軟發展出的程式語言
.T8AXlY7_d <li>JScript: 由微軟發展的 JavaScript 版本;d h X*O,Z;g
<li>PerlScript: 以 Perl 概念所發展出的程式語言(一般較少用到,因為考慮到用戶端必須先安裝 Perl 解譯器,才能執行)
+ifo;j.s </ul>a.V.Bu?n.@
VUH._Qw%zZgi-Z
<p>M8UY(x R7\ n
當 Netscape 在發展 JavaSript 時,Sun Microsystems 公司也正在發展客戶端的程式語言 Java。原先 JavaScript 本名叫做 LiveScript,後來Sun Microsystems 公司研發的 Java 程式語言似乎有一飛沖天之勢,Netscape 乃順天應人,順勢將 LiveScript 改名為 JavaScript。常常有人把 JavaScript 和 Java 混為一談,事實上這兩者除了名字相近外,並無其他關係。以下是一個 JavaScript 和 Java 的比較表,列出兩者相同和相異之處。(如果你是初學者,看不懂此表,也沒有關係,因為這並不影響對後續教材的學習。)
D$^1E u7c1Q <p>
,^RnWu"Pj#M J <table align=center border=1 cellspacing=0 style="border:1px solid black">
Dg-I0b)t0d'TFt <TR>sm$egf`
        <TH class=boldw>JavaScript</th>
`!n X8v h e         <TH class=boldw>Java</th> EeOTh0A _;B%P
<TR>9@`*P6z2Qx
        <TD>Interpreted (not compiled) by client.6r2} Z-z~x7sG7[ X7o
        <TD>Compiled bytecodes downloaded from server, executed on client.
:G2\;^.b {i d#r <TR>
x9J&d"Gj!XC0U         <TD>Object-based. No distinction between types of objects.
v.Q*E/d8JT                 Inheritance is through the prototype mechanism and properties
-~ A%` iT [m                 and methods can be added to any object dynamically.u p,O/M[xW
        <TD>Object-oriented. Objects are divided into classes and instances)d._ IS6L&GY.`.yIP
                with all inheritance through the class hieararchy. G N9A:`)G3y2m
                Classes and instances cannot have properties or methods addedU hJ'v9e9c-Y1t
                dynamically.2XyB$a5?6h|)wQY
<TR>
!|W[;Vf#D         <TD>Code integrated with, and embedded in, HTML.2F!N Y3@H w3C
        <TD>Applets distinct from HTML (accessed from HTML pages).M%UU*Ji
<TR>&[w5x_5O7|#Qrc_q
        <TD>Variable data types not declared (loose typing).
?u8? sW$q1v O"L%fj         <TD>Variable data types must be declared (strong typing).
8ga9VQm go Ar <TR>
uWMv9MP         <TD>Dynamic binding. Object references checked at runtime.
]H D-C!E         <TD>Static binding. Object references must exist at compile-time.[{4td#T
<TR>
u\%e1~+b+U2|]+D         <TD>Cannot automatically write to hard disk.
2o@"v,Fotb         <TD>Cannot automatically write to hard disk.`P"|h*]J
</table>:X#Z{ zd+T+_
</blockquote>

hoyachai 2008-2-15 09:54 AM

這篇文章都會看到HTML的語法說~~
頁: [1]
查看完整版本: [資料] Java&JavaScript 分別&介紹