AngularJS。
长处:
- 模板功用强大雄厚,并且是声明式的,自带了雄厚的Angular指令;
- 是一个比较完善的前端MV*框架,包含模板,数据双向绑定,路由,模块化,效劳,过滤器,依靠注入等统统功用;
- 自定义Directive,比jQuery插件还天真,然则须要深切相识Directive的一些特征,简朴的封装轻易,庞杂一点官方没有供应细致的引见文档,我们可以经由历程浏览源代码来找到某些我们须要的东西,如:在directive运用 $parse;
- ng模块化比较斗胆勇敢的引入了Java的一些东西(依靠注入),可以很轻易的写出可复用的代码,关于迅速开辟的团队来讲异常有协助,我们的项目从上线到如今,UI变化很大,在探索中迭代产物,然则js的代码基本上很少修正。
- 补充:Angular支撑单元测试和e2e-testing。
弊病:
- 考证功用毛病信息显现比较柔弱,须要写许多模板标签,没有jQuery Validate轻易,所以可以本身封装了考证的毛病信息提醒;
- ngView只能有一个,不能嵌套多个视图,虽然有 angular-ui/ui-router · GitHub 处置惩罚,然则貌似ui-router 关于URL的掌握不是很天真,必需是嵌套式的;
- 关于迥殊庞杂的运用场景,貌似机能有点题目,迥殊是在Windows下运用chrome浏览器,不晓得是内存泄漏了照样什么其他题目,没有找到好的处置惩罚方案,奇怪的是在IE10下反而很快;
- 此次从1.0.X晋级到1.2.X,貌似有比较大的调解,没有圆满兼容低版本,晋级今后可能会致使一个兼容性的BUG,详细细致信息参考官方文档 AngularJS ,对应的中文版本:Angular 1.0到1.2 迁徙指南
- ng首倡在掌握器内里不要有操纵DOM的代码,关于一些jQuery 插件的运用,假如想不损坏代码的整齐性,须要写一些directive去封装插件,然则如今有许多插件的版本已支撑Angular了,如:jQuery File Upload Demo
- Angular 太笨重了,没有让用户挑选一个轻量级的版本,固然1.2.X后,Angular也在做一些变动,比方把route,animate等模块自力出去,让用户本身去挑选。
什么是AJAX,简述异步要求与同步要求的差别?
AJAX 是一种在无需从新加载全部网页的情况下,可以更新部份网页的手艺。
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于竖立疾速动态网页的手艺。
经由历程在背景与效劳器举行少许数据交换,AJAX 可以使网页完成异步更新。这意味着可以在不从新加载全部网页的情况下,对网页的某部份举行更新。
同步是指:发送方发出数据后,等接收方发还相应今后才发下一个数据包的通信体式格局。
用户填写统统信息后,提交给效劳器,守候效劳器的回应(磨练数据),是一次性的。信息毛病又要从新填写!
异步是指:发送方发出数据后,不等接收方发还相应,接着发送下个数据包的通信体式格局。当用户填写完一条信息后,该信息会自意向效劳器提交,然后效劳器相应客户端,在此历程当中,用户依旧在填写表格的信息,即向效劳器要求屡次,节省了用户的时刻,提高了用户的体验。
同步要求:
客户端要求(守候)->效劳端处置惩罚->相应->页面载入
(缺乏对象:XMLhttpRequest)
这时刻假如有毛病,只能再次发送要求,再次守候
异步要求:
比方当你填写邮箱地址的时刻,页面当时就把邮箱地址发送到了效劳器(也就是页面发送了一个要求),服
务器做处置惩罚和相应,获得你的邮箱地址填写反复了,把相应结果发给页面,在这个历程当中你依然可以填写其
他内容,这时刻效劳器会提醒你有反复的邮箱地址,在页面上的表现只是邮箱地址旁别加了一行字或许把整
个文本框标红,并没有从新刷你的页面,统统的填写毛病会及时的显现出来,你也会及时的改正。
这个历程当中,你会有全部页面的革新,也不会有全部页面的提交和守候,末了提交,统统都邑搞定的
总结:页面上的操纵和效劳器端的操纵相互之间不会形成壅塞
=====竖立异步要求历程的4个步骤:============
a:new一个XHR对象
b:挪用open要领
c:send一些数据
d:对历程举行监听,来晓得效劳器是否是正确地做出了相应,接着可以做一些事变
什么是闭包?为何要运用闭包?
闭包就是可以读取其他函数内部变量的函数
作用 :一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值一直坚持在内存中。
什么是冒泡?
在一个对象上触发某类事宜(比方单击onclick事宜),假如此对象定义了此事宜的处置惩罚顺序,那末此事宜
就会挪用这个处置惩罚顺序,假如没有定义此事宜处置惩罚顺序或许事宜返回true,那末这个事宜会向这个对象的父
级对象流传,从里到外,直至它被处置惩罚(父级对象统统同类事宜都将被激活),或许它抵达了对象条理的最
顶层,即document对象(有些浏览器是window)。
打个比方说:你在地要领院要上诉一件案子,假如处所没有处置惩罚此类案件的法院,处所相干部门会帮你继承
往上级法院上诉,比方从市级到省级,直至到中心法院,最终使你的案件得以处置惩罚。
HTML5CSS3有哪些新特征、移除了哪些元素?怎样处置惩罚HTML5新标签的浏览器兼容题目?
HTML5如今已不是SGML的子集,主如果关于图象、位置、存储、地舆定位等功用的增添。
新特征有:
绘画canvas元素
用于序言回放的 video 和 audio 元素
当地离线存储 localStorage 历久存储数据,浏览器封闭后数据不丧失;
sessionStorage 的数据在浏览器封闭后自动删除
语意化更好的内容元素,比方 article、footer、header、nav、section
表单控件,calendar、date、time、email、url、search
CSS3完成圆角、,暗影、对笔墨加殊效,增添了更多的CSS挑选器,多背景rgba,新的手艺有webworker、websockt、Geolocation。
移除的元素包含:
纯表现的元素 basefont、big、center、font、 s、strike、tt、u;
对可用性发生负面影响的元素 frame、frameset、noframes。
浏览器兼容H5题目处置惩罚方案:
IE8/IE7/IE6支撑经由历程document.createElement要领发生的标签,可以应用这一特征让这些浏览器支撑HTML5新标签,浏览器支撑新标签后,还须要增加标签默许的款式,固然最好的体式格局是直接运用成熟的框架:
<!--[if lt IE 9]>
<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]-->
页面重构怎样操纵?
把“未采纳CSS,大批运用HTML举行定位、规划,或许虽然已采纳CSS,然则未遵照HTML构造化范例的站点”变成“让标记回归标记的底本意义。经由历程在HTML文档中运用构造化的标记以及用CSS掌握页面表现,使页面的现实内容与它们显现的花样相星散的站点。”的历程就是网站重构
网站为何要举行重构(网站重构的优点)
a、使页面加载得更疾速;
b、下降带宽带来的用度,勤俭本钱;
c、让你在修正设想时更有效力而价值更低;
d、协助你的全部站点坚持视觉的一致性;
e、更利于搜索引擎的检索(相符SEO的范例);
f、令站点更轻易被种种浏览器和用户
编写 CSS、让页面构造更合理化,提拔用户体验,完成优越的页面结果和提拔机能。
前端页面有哪三层组成,离别是什么?作用是什么?
最正确的网页设想思绪是把网页分红三个条理,即:构造层、示意层、行动层。
网页的构造层(structural layer)由HTML或XHTML之类的标记言语担任竖立。标签,也就是那些出如今尖括号里的单词,对网页内容的语义寄义做出了形貌,但这些标签不包含任何关于怎样显现有关内容的信息。比方,P 标签表达了如许一种语义:“这是一个文本段。”
网页的示意层(presentation layer)由CSS担任竖立。 CSS对“怎样显现有关内容”的题目做出了回复。
网页的行动层(behavior layer)担任回复“内容应当怎样对事宜做出回响反映”这一题目。这是JavaScript言语和DOM主宰的范畴。
什么是ajax,为何要运用Ajax?
答案:AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种竖立交互式网页运用的网页开辟手艺。
Ajax包含以下手艺:
基于web范例(standards-based presentation)XHTML+CSS的示意;
运用 DOM(Document Object Model)举行动态显现及交互;
运用 XML 和 XSLT 举行数据交换及相干操纵;
运用 XMLHttpRequest 举行异步数据查询、检索;
运用 JavaScript 将统统的东西绑定在一起。
为何要用ajax:Ajax运用顺序的上风在于:
经由历程异步形式,提拔了用户体验
优化了浏览器和效劳器之间的传输,削减不必要的数据往复,削减了带宽占用
Ajax引擎在客户端运转,负担了一部份本因由效劳器负担的事情,从而削减了大用户量下的效劳器负载。