标签:
因为一个奇怪的原因被drop掉了,但是既然准备了这么久,就把这段时间准备的知识点发一下吧。。权当mark了
LESS SASS:
CSS预处理器,为CSS加入编程元素。
SASS必须用ruby驱动,支持if、for条件
LESS可在客户端编译
sass比less更强大点,特别是对于颜色这块的处理function非常强大,而且还可以自定义function(ruby)
前后端分离:
传统前后端分离的思想是从物理层面来划分,即客户端就是前端,服务器端就是后台。现在的思想是从职能上划分,后台只是提供数据接口,前端负责逻辑层和表示层。这个思想的重点在于不能将前端局限在客户端,前端实现的逻辑层仍然是在服务器运行的,只是由前端工程师用他们所习惯的语言编写和维护的。
JS作用域链:
在函数定义的时候创建,用于寻找变量的值。内部规则是:把函数自身的本地变量放在最前面,把父级函数中的变量放在其次,把再高一级函数中的变量放在更后面,直至到全局变量。
JS内存回收机制:
JS函数内部可嵌套函数。正常情况下,函数结束后会释放所有变量。在外部函数返回后,又直接调用了内部函数,那么就会出现问题。所以js会构建一个闭包,这些变量就不会被内存回收机制回收。
JS模块化:
概念:Javascript不是一种模块化编程语言,它不支持"类"(class),在业务逻辑比较复杂的情况下,全局变量很容易被覆盖,造成变量污染。为了解决这个问题,出现了模块化编程的概念。
优点:1. 维护一个干净的变量环境,保护一定范围内的全局变量不被污染 2. 提高前端脚本的可重用性 3. 抽象成公共脚本库
实现:用函数充当类,this.xxx定义的属性是公有的,var声明的变量是局部变量,访问私有变量可以用闭包。将函数本体赋值给全局变量,不会被JS的内存回收机制回收。
举例:
AngularJS: 双向数据绑定
CSS水平置中:
行内元素: text-align
确定宽度的块级元素: margin
不确定宽度的块级元素:
1. 把内容放到table中,对table设置margin
2. 将元素改成行内元素,用text-align置中
3. 父元素设置relative,left为50%,子元素设置relative,left -50%
CSS竖直居中
不确定高度: 设定相同的上下margin
确定高度: line-height
CSS Hack:
IE条件注释
选择符前缀法,*html只对IE 6生效,*+html只对IE 7生效。
样式属性前缀法,_只在IE6生效,*在IE 6和IE 7下生效。
前端优化:
1. 减少http请求。合并css文件,css sprites。
2. css写在最前面,js在最后。
3. 对css js进行压缩
4. 明确css和js的功能
5. 标签语义化
前端SEO:
1. css js全部外链
2. h1标签只出现一次
3. 图片一定添加alt属性
4. 链接要采用a标签,而不是div
5. 最好有面包屑导航
HTML5语义化:
article 一篇文章,可嵌套,比如将文章评论用article嵌套
section 一段
aside 用于装载非正文类内容,如广告,侧边栏等
header
footer
前端知识点
标签:
原文地址:http://www.cnblogs.com/kuoaidebb/p/4334849.html