这周二学习了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用法相同