在學習JS中遇到的一些問題總結:
1.
我們需要在頁面加載時能夠通過javascript去動態操作html中的一些對象,對於這些操作,我們最好是在body中定義onload操作,然後在該操作中去完成這些任務,儘量避免在html中嵌入script執行代碼,因爲對於比較大的頁面,當這些腳本執行的時候,頁面往往還沒有加載完畢,因此許多頁面對象還沒有被生成,此時動態去改變很可能會報異常。也可以把腳本保存在外部文件中,文件擴展名爲 .js,外部文件通常包含被多個網頁使用的代碼。注意:在使用外部腳本時,腳本內不能包含 <script> 標籤。
2.
在一個頁面含有某個iframe,其id="myframe"name="myframe",此時使用document.getElementById("myframe")取到的是iframe標籤對象,通過該對象可以獲取iframe的各個屬性,例如src、frameborder、style等等,但是不能獲取到iframe所包含的子頁面的各個對象。如果使用document.frames("myframe")取到的是iframe組件對象,通過該對象可以獲取到iframe所包含的頁面的子頁面的各個對象,例如子頁面的window對象,但是不能獲得iframe標籤得各個屬性,例如上面說到的src等等。
3.
在 JavaScript 中,你可以通過在引號前面使用反斜槓(\)來轉義引號。
例如:
var txt = "Tom said, \"Helen is learning Java Script\".";
初步學習React體會:
React及其相關配套的技術是一套前端開發框架,採用了面向對象式的編程方式來編寫前端。並且可以獨立運行前端,使得前後端分離。三大特性:
一、組件化;
React是單頁面程序,所有的頁面代碼最終將轉化爲一個頁面,然而頁面中的任何元素都可以封裝成一個獨立的組件。大到整個頁面,小到一個輸入框,都可以是一個組件,同時React爲這種組件組合、封裝制定了一套完整的規則和方法,使得編程非常方便,如同Java,C#中的類,包以及DDL等。
React通過props實現父子組件的數據傳遞,通過state實現組件內部數據傳遞。
二、
Virtual Dom;
Virtual Dom是React宣稱它效率更快的重要原因。開發WebUI的都知道,在頁面上進行Dom樹查找是非常費時費力的事情,由此在Jquery中還有多種爲提高查找效率的寫法。ReactJs卻提供了虛擬Dom樹,在內存中保持實際Dom樹的拷貝,如果Dom樹發生變化,則先修改內存中數據,然後保存到時間Dom樹中。這將比直接操作Dom要快的多。
三、Learn Once Write Anywhere;
主要是指React已經成爲一種跨平臺、跨前後端的語言,React不僅適用於Web UI,也適用於Node,以及移動App,並且採用React Native編寫的App,只需少量的代碼改動就能同時在Android,IOS上運行。