弱類型語言也稱為弱類型定義語言。與強類型定義相反。像vb,php等就屬于弱類型語言·
例如:在vbscript中,可以將字符串 12 和整數 3 進行連接得到字符串 123,然后可以把它看成整數 123,而不需要顯式轉換。
弱類型有時顯得很方便,有時卻又極易出錯。比如:
var result=5+5; //two numbers
alert(result); //outputs “10”
var result=5+‘5’; // a number and a string
alert(result); //outputs “55”
因此使用弱類型語言也要格外注意數據類型防止出錯
弱類型語言的優缺點有哪些
JavaScript的特點
(1)。一種解釋性執行的腳本語言。
同其他腳本語言一樣,JavaScript也是一種解釋性語言,其提供了一個非常方便的開發過程。JavaScript的語法基本結構形式與C、C++、Java十分類似。但在使用前,不像這些語言需要先編譯,而是在程序運行過程中被逐行地解釋。JavaScript與HTML標識結合在一起,從而方便用戶的使用操作。
(2)。一種基于對象的腳本語言。
其也可以被看作是一種面向對象的語言,這意味著JavaScript能運用其已經創建的對象。因此,許多功能可以來自于腳本環境中對象的方法與腳本的相互作用。
(3)。一種簡單弱類型腳本語言。
其簡單性主要體現在:首先,JavaScript是一種基于Java基本語句和控制流之上的簡單而緊湊的設計,從而對于使用者學習Java或其他C語系的編程語言是一種非常好的過渡,而對于具有C語系編程功底的程序員來說,JavaScript上手也非常容易;其次,其變量類型是采用弱類型,并未使用嚴格的數據類型。
(4)。一種相對安全腳本語言。
JavaScript作為一種安全性語言,不被允許訪問本地的硬盤,且不能將數據存入服務器,不允許對網絡文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或動態交互。從而有效地防止數據的丟失或對系統的非法訪問。
(5)。一種事件驅動腳本語言。
JavaScript對用戶的響應,是以事件驅動的方式進行的。在網頁(Web Page)中執行了某種操作所產生的動作,被稱為“事件”(Event)。例如按下鼠標、移動窗口、選擇菜單等都可以被視為事件。當事件發生后,可能會引起相應的事件響應,執行某些對應的腳本,這種機制被稱為“事件驅動”。
(6)。一種跨平臺性腳本語言。
JavaScript依賴于瀏覽器本身,與操作環境無關,只要計算機能運行瀏覽器,并支持JavaScript的瀏覽器,就可正確執行,從而實現了“編寫一次,走遍天下”的夢想。
因此,JavaScript是一種新的描述語言,其可以被嵌入到HTML文件中。JavaScript語言可以做到響應使用者的需求事件(例如表單的輸入),而不需要任何的網絡來回傳輸資料。所以當一位使用者輸入一項資料時,此資料數據不用經過傳給服務器(server)處理再傳回來的過程,而直接可以被客戶端(client)的應用程序所處理。
JavaScript的優缺點
(1).JavaScript的優點:
《1》.JavaScript減少網絡傳輸。
在JavaScript這樣的用戶端腳本語言出現之前,傳統的數據提交和驗證工作均由用戶端瀏覽器通過網絡傳輸到服務器上進行。如果數據量很大,這對于網絡和服務器的資源來說實在是一種無形的浪費。而使用JavaScript就可以在客戶端進行數據驗證。
《2》.JavaScript方便操縱HTML對象。
JavaScript可以方便地操縱各種頁面中的對象,用戶可以使用JavaScript來控制頁面中各個元素的外觀、狀態甚至運行方式,JavaScript可以根據用戶的需要“定制”瀏覽器,從而使網頁更加友好。
《3》.JavaScript支持分布式運算。
JavaScript可以使多種任務僅在用戶端就可以完成,而不需要網絡和服務器的參與,從而支持分布式的運算和處理。
(2).JavaScript的局限性:
《1》。各瀏覽器廠商對JavaScript支持程度不同。
目前在互聯網上有很多瀏覽器,如Firefox、Internet Explorer、Opera等,但每種瀏覽器支持JavaScript的程度是不一樣的,不同的瀏覽器在瀏覽一個帶有JavaScript腳本的主頁時,由于對JavaScript的支持稍有不同,其效果會有一定的差距,有時甚至會顯示不出來。
《2》。“Web安全性”對JavaScript一些功能犧牲。
當把JavaScript的一個設計目標設定為“Web安全性”時,就需要犧牲JavaScript的一些功能。因此,純粹的JavaScript將不能打開、讀寫和保存用戶計算機上的文件。其有權訪問的唯一信息就是該JavaScript所嵌入的那個Web主頁中的信息,簡言之,JavaScript將只存在于它自己的小小世界—Web主頁里。
常用JS框架介紹及其優缺點
(1).Jquery
《1》。介紹
JQuery 是一款同 prototype 一樣優秀 js 開發庫類,特別是對 css 和 XPath 的支持,使我們寫 js 變得更加方便!如果你不是個 js 高手又想寫出優秀的 js 效果,那么 JQuery 可以幫你達到目的!并且簡介的語法和高的效率一直是jQuery追求的目標。
《2》。優點:注重簡介和高效,js 效果有 yui-ext 的選擇,因為 yui-ext 重用了很多 jQuery 的函數
《3》。缺點:據說太嫩,歷史不悠久。
(2).EXT
《1》。介紹
基于 Yahoo UI 的擴展包 yui-ext 是具有 CS 風格的 Web 用戶界面組件,能實現復雜的 Layout 布局,界面效果可以和 backbase 媲美,而且使用純 javascript 代碼開發。真正的可編輯的表格 Edit Grid,支持 XML 和 Json 數據類型,直接可以遷入 Grid。許多組件實現了對數據源的支持,例如動態的布局,可編輯的表格控件,動態加載的 Tree 控件、動態拖拽效果等等。從 1.0 beta 版開始同 Jquery 合作,推出基于 jQuery 的 Ext 1.0,提供了更多有趣的功能。
《2》。優點:結構化,類似于 java 的結構,清晰明了,底層用到了 Jquery 的一些函數,使整合使用有了選擇,最重要的一點是界面太讓讓人震撼了。
《3》。缺點:太過復雜,整個界面的構造過于復雜。
(3).Dojo
《1》。介紹
Dojo 是目前最為強大的JS框架,它在自己的 Wiki 上給自己下了一個定義,Dojo 是一個用 JavaScript 編寫的開源的DHTML工具箱。Dojo 很想做一個“大一統”的工具箱,不僅僅是瀏覽器層面的,野心還是很大的。Dojo 包括 Ajax、Browser、Event、Widget 等跨瀏覽器 API,包括了 JS 本身的語言擴展,以及各個方面的工具類庫,和比較完善的 UI 組件庫,也被廣泛應用在很多項目中,他的 UI 組件的特點是通過給 HTML 標簽增加 TAG 的方式進行擴展,而不是通過寫 JS 來生成,Dojo 的 API 模仿 Java 類庫的組織方式。用 Dojo 寫 Web OS 可謂非常方便。Dojo 現在已經 4.0 了,Dojo 強大的地方在于界面和特效的封裝,可以讓開發者快速構建一些兼容標準的界面。
《1》。優點:庫相當完善,發展時間也比較長,功能強大,據說利用 Dojo 的 io.bind() 可以實現 comet 看見其功能強大非一般,得到 IBM 和 SUN 的支持。
《2》。缺點:文件體積比較大,200多KB,初次下載相當慢,此外,Dojo 的類庫使用顯得不是那么易用,JS語法增強方面不如 Prototype
(4).Prototype
《1》。介紹
它是一個非常優雅的 JS 庫,定義了 JS 的面向對象擴展,DOM 操作API,事件等等,以 Prototype 為核心,形成了一個外圍的各種各樣的 JS 擴展庫,是相當有前途的 JS 底層框架,值得推薦,感覺也是現實中應用最廣的庫類(RoR 集成的 AJAX JS 庫),之上還有 Scriptaculous 實現一些JS組件功能和效果。
《2》。優點:基本底層,易學易用,甚至是其他一些js特效開發包的底層,體積算是最小的了。
《3》。缺點:如果說缺點,可能就是功能是他的弱項
(5).dScriptaculous
《1》。介紹
Scriptaculous 是基于prototype.js 框架的 JS 效果。包含了 6 個 js 文件,不同的文件對應不同的 js 效果,所以說,如果底層用 prototype 的話,做js效果用 Scriptaculous 那是再合適不過的了,連大名鼎鼎的 digg 都在用他,可見不一般
《2》。優點:基于prototype 是最大的優點,由于使用 prototype 的廣泛性,無疑對用戶書錦上添花。
《3》。缺點:剛剛興起,需要時間的磨練
(6).Mochikit
《1》。介紹
MochiKit 自稱為一個輕量級的 js 框架。MochiKit 主要受到 Python 和 Python 標準庫提供的很多便利之處的啟發,另外還緩解了瀏覽器版本之間的不一致性。其中的 MochiKit.DOM 尤其方便,能夠以比原始 JavaScript 更友好的方式處理 DOM 對象。MochiKit.DOM 大部分都是針對 XHTML 文檔定制的,如果與 MochiKit 和 Ajax 結合在一起,使用 XHTML 包裝的微格式尤其方便。Mochikit 可以直接對字符串或者數字格式化輸出,比較實用和方便。它還有自己的 js 代碼解釋器
《2》。優點:MochiKit.DOM 這部分很實用,簡介也是很突出的
《3》。缺點:輕量級的缺點
(7).Mootools
《1》。介紹
MooTools 是一個簡潔,模塊化,面向對象的 JavaScript 框架。它能夠幫助你更快,更簡單地編寫可擴展和兼容性強的 JavaScript 代碼。Mootools 跟 prototypejs 相類似,語法幾乎一樣。但它提供的功能要比 prototypejs 多,而且更強大。比如增加了動畫特效、拖放操作等等。
《2》。優點:可以定制自己所需要的功能,可以說是 prototypejs 的增強版。
《3》。缺點:不大不小,具體應用具體分析。
(8).Moo.fx
《1》。介紹
Moo.fx是 一個超級輕量級的 javascript 特效庫(7k),能夠與 prototype.js 或mootools 框架一起使用。它非常快、易于使用、跨瀏覽器、符合標準,提供控制和修改任何 HTML 元素的 CSS 屬性,包括顏色。它內置檢查器能夠防止用戶通過多次或瘋狂點擊來破壞效果。moo.fx整體采用模塊化設計,所以可以在它的基礎上開發你需要的任何特效。
《2》。優點:小塊頭有大能耐
《3》。缺點:這么小了,已經不錯了
評論
查看更多