這週二學習了ReactJs,顛覆了以前學習的思路。瀏覽器
React 起源於 Facebook 的內部項目,就在2013年5月開源了。代碼邏輯簡單,可是思惟方式,我一時間有點轉換不過來。服務器
ReactJsmvc
1、填空題框架
一、ReactJs不是一個____________,而是一個_________,能夠視爲mvc中的__________。oop
二、ReactJs的兩個特色是:__________________和____________________。組件化
三、React.render(<h1>Hello,world</h1>,document.getElementById(‘div1’));性能
(1) React.render的第二個參數是否能用jQuery來獲取DOM節點?_____________。學習
(2)簡述以上代碼的意思___________________________________________。this
四、Browser.js 的做用是:________________________________________________。事件
五、React.createClass 用於生成_________________,第一個字母必須_________,且只能包含一個_________________。
六、添加組件屬性時要注意:class屬性要寫成_______________________。
七、ref的用法相似於______________________________。
八、getInitialState是用來_________________________,在組件生成的時候只生成______;render能夠執行_______________。
九、getInitialState中的內容能夠經過__________________________來訪問。
2、問答題
一、請簡述什麼是高效的虛擬DOM。
二、請寫出在ReactJs中的兩種遍歷方法。
答案:
1、填空題
一、框架,庫,V(View)
二、虛擬DOM,組件化
三、(1)不能
(2)將一個h1標籤插入一個id名爲div1的節點中
四、將 JSX 語法轉爲 JavaScript 語法(這一步很消耗時間,實際上線的時候,應該將它放到服務器完成)
五、生成一個組件類,大寫,頂層標籤
六、className
七、事件委託
八、初始化狀態變量,一次,屢次
九、this.state
2、問答題一、每當數據變化時,React都會從新構建整個DOM樹,而後React將當前整個DOM樹和上一次的DOM樹進行對比,獲得DOM結構的區別,而後僅僅將須要變化的部分進行實際的瀏覽器DOM更新。並且React可以批處理虛擬DOM的刷新,在一個事件循環(Event Loop)內的兩次數據變化會被合併。儘管每一次都須要構造完整的虛擬DOM樹,可是由於虛擬DOM是內存數據,性能是極高的,而對實際DOM進行操做的僅僅是Diff部分,於是能達到提升性能的目的。二、forEach和map用法相同