javascript
【JavaScript 1—基础知识点】:宏观概述
導讀:JavaScript是一門新的(也可以說是舊的或者半新語言),里面有很多的知識點都能和已有的知識產生共鳴。但是,雖然簡單,相同點也有很多,也有不同點。我腦袋也不好使,所以對于我來說,還是有必要再重復的總結回顧一下,增添一下印象。
一、俯瞰
1,定義
JavaScript:是一種具有面向對象能力的、解釋性的程序設計語言。它基于對象和事件驅動并具有相對安全性的客戶端腳本語言。它不需要再一個語言環境下運行,而只需要支持它的瀏覽器即可。它的主要目的是,驗證發往服務器端的數據,增加Web互動,加強用戶體驗度等。
2,圖示
3,說明
3.1,問題1
問:注釋很重要,幫助人們理解程序,但為什么在代碼嵌入的時候,不需要提供注釋?
答:在代碼嵌入的過程中,以前使用注釋是為了讓不支持JavaScript的瀏覽器能直接跳過JavaScript語言代碼,而使其界面友好。現在的瀏覽器,均支持JavaScript語言,所以,在代碼嵌入的時候,無需提供注釋。
3.2,問題2
問:為什么代碼嵌入的時候,無添加代碼?
答:當JS代碼很多很龐大的時候,我們需要將其另存為一個文件(封裝),然后通過src標簽進行調用。在封裝好的文件中,已經包括你要執行的所有代碼,所以不需要添加代碼。如果有需要,則需要在另外的標簽里填寫,或者修改封裝好的代碼文件。
理解:就像是我們封裝好了一個方法,當我們在別處調用時,我們不能在調用的過程中,再對封裝好的方法進行修改,而如有必要的要,我們也只能返回原有類中的方法進行修改。
二、近看
1,注釋
ECMAScript使用C風格的注釋,包括單行注釋和塊級注釋。
//單行注釋
/*
?*多行(塊級)注釋
?*
*/
2,變量
在JavaScript里,變量的定義通過操作符Var,比如說定義一個字符串變量:var strTest=“測試”,而我們在別的地方,C#中,則會這么定義:String strTest=“測試”,如果在VB中,則可能會出現Dim strTest ?as ?string等。
雖然這些都有差異,但我認為這都不是問題,就像人的頭發可以這么梳也可以那么梳一樣,說到底還就是一把頭發,一個方式而已。
3,面向對象
在JavaScript里,有對于龐大JS代碼的抽象文件,我將這個理解為封裝。也有屬于它的繼承機制(通過原型實現的繼承),雖然沒有見到多態,但我覺得它也是一種面向對象的語言,雖然形式和以前的不一樣。在這里,我得說明一下,什么叫做通過原型實現的繼承機制。
3.1,基于類的面向對象 和基于原型的面向對象方式比較(摘抄:全面理解面向對象的 JavaScript)
在基于類的面向對象方式中,對象(object)依靠 類(class)來產生。而在基于原型的面向對象方式中,對象(object)則是依靠 構造器(constructor)利用 原型(prototype)構造出來的。舉個客觀世界的例子來說明二種方式認知的差異。例如工廠造一輛車,一方面,工人必須參照一張工程圖紙,設計規定這輛車應該如何制造。這里的工程圖紙就好比是語言中的 類 (class),而車就是按照這個 類(class)制造出來的;另一方面,工人和機器 ( 相當于 constructor) 利用各種零部件如發動機,輪胎,方向盤 ( 相當于 prototype 的各個屬性 ) 將汽車構造出來。
事實上關于這兩種方式誰更為徹底地表達了面向對象的思想,目前尚有爭論。但筆者認為原型式面向對象是一種更為徹底的面向對象方式,理由如下:
首先,客觀世界中的對象的產生都是其它實物對象構造的結果,而抽象的“圖紙”是不能產生“汽車”的,也就是說,類是一個抽象概念而并非實體,而對象的產生是一個實體的產生;
其次,按照一切事物皆對象這個最基本的面向對象的法則來看,類 (class) 本身并不是一個對象,然而原型方式中的構造器 (constructor) 和原型 (prototype) 本身也是其他對象通過原型方式構造出來的對象。
再次,在類式面向對象語言中,對象的狀態 (state) 由對象實例 (instance) 所持有,對象的行為方法 (method) 則由聲明該對象的類所持有,并且只有對象的結構和方法能夠被繼承;而在原型式面向對象語言中,對象的行為、狀態都屬于對象本身,并且能夠一起被繼承(參考資源),這也更貼近客觀實際。
最后,類式面向對象語言比如 Java,為了彌補無法使用面向過程語言中全局函數和變量的不便,允許在類中聲明靜態 (static) 屬性和靜態方法。而實際上,客觀世界不存在所謂靜態概念,因為一切事物皆對象!而在原型式面向對象語言中,除內建對象 (build-in object) 外,不允許全局對象、方法或者屬性的存在,也沒有靜態概念。所有語言元素 (primitive) 必須依賴對象存在。但由于函數式語言的特點,語言元素所依賴的對象是隨著運行時 (runtime) 上下文 (context) 變化而變化的,具體體現在 this 指針的變化。正是這種特點更貼近 “萬物皆有所屬,宇宙乃萬物生存之根本”的自然觀點。在 程序清單 1中 window 便類似與宇宙的概念。
三、感受
年紀增長,越來越發現自己的腦子不記事兒了。不過,這也好,正是這不記事兒的腦子,催促我學習了就回頭總結。
有時候,一看那個知識點覺得非常非常的熟悉,就不想總結,總覺得什么都差不多,總結也沒多大收獲。但是,事實上是沒有兩個完全一樣的東西的,還是總結吧。一樣的知識,權當重復+回顧+新體會;不一樣的知識,嘿嘿嘿嘿.......
轉載于:https://www.cnblogs.com/hhx626/p/6010428.html
總結
以上是生活随笔為你收集整理的【JavaScript 1—基础知识点】:宏观概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thinkphp用phpexcel读取e
- 下一篇: 新车选车的标准是什么?