
标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链 CSS 和 JS 脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性。
HTML 是一种基本的 WEB 网页设计语言,XHTML 是一个基于 XML 的置标语言,最主要的不同:
用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度 基于框架的 html 文档,加入 XML 声明可触发,解析方式更改为 IE5.5 拥有 IE5.5 的 bug
块级元素:div、p、h1、h2、h3、h4、form、ul
行内元素:a、b、br、i、span、input、select
CSS 盒模型:content、border、margin、adding
内联 内嵌 外链 导入
区别 :同时加载
前者无兼容性,后者 CSS2.1 以下浏览器不支持
Link 支持使用 JavaScript 改变样式,后者不可
标签选择符 类选择符 id选择符
继承不如指定 Id > class > 标签选择
后者优先级高
结构层 Html 表示层 CSS 行为层 JS
选择器 {属性1:值1;属性2:值2;……}
1.双边距 BUG float 引起的 使用display
2.3像素问题 使用 float 引起的 使用dislpay:inline -3px
3.超链接 hover 点击后失效 使用正确的书写顺序 link visited hover active
4.IE z-index 问题 给父级添加 position:relative
5.Png 透明 使用 JavaScript 代码 改
6.Min-height 最小高度 !Important 解决
7.select 在 IE6下遮盖 使用 iframe 嵌套
8.为什么没有办法定义 1px 左右的宽度容器(IE6 默认的行高造成的,使用 overflow:hidden;zoom:0.08;line-height:1px)
Alt 当图片不显示是 用文字代表。
Title 为该属性提供信息
Reset 重置浏览器的 CSS 默认属性浏览器的品种不同,样式不同,然后重置,让他们统一
CSS 精灵把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量
盒子模型 渲染模式的不同,使用 window.top.document.compatMode 可显示为什么模式
文件合并
文件最小化/文件压缩
使用CDN托管
缓存的使用
直观的认识标签 对于搜索引擎的抓取有好处
1.使用空标签清除浮动 clear:both(理论上能清除任何标签,增加无意义的标签)
2.使用 overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,使用 zoom:1 用于兼容IE)
3.是用 afert 伪元素清除浮动,用于非IE浏览器
Object number function boolean underfind
强制(parseInt、parseFloat、number)
隐式(== - ===)
前者是切割成数组的形式,后者是将数组转换成字符串
1.执行顺序不一样
2.参数不一样
3.事件加不加on
4.this指向问题
var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
var target = ev.srcElement||ev.target
一个在url后面 一个放在虚拟载体里面
有大小限制
安全问题
应用不同 一个是论坛等只需要请求的,一个是类似修改密码的
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
使用eval parse 鉴于安全性考虑 使用 parse 更靠谱
function getStyle(obj,attr,value){
if(!value){
if(obj.currentStyle){
return obj.currentStyle(attr)
}else{
obj.getComputedStyle(attr,false)
}
}else{
obj.style[attr] = value
}
}
让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行。
闭包就是能够读取其他函数内部变量的函数。
canceBubble return false
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
动态创建 script 标签,回调函数
Ajax 是页面无刷新请求数据操作
本地对象为 array obj regexp 等可以 new 实例化
内置对象为 gload Math 等不可以实例化的
宿主为浏览器自带的 document、window 等
Document.onload 是在结构和样式加载完才执行 JavaScript
Document.ready 原生种没有这个方法,jquery 中有 $().ready(function)
前者会自动转换类型
后者不会
一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合
function oSort(arr){
var result ={};
var newArr=[];
for(var i=0;i<arr.length;i++){
if(!result[arr[i]]){
newArr.push(arr[i])
result[arr[i]]=1
}
}
return newArr
}
function oSort(arr){
if(arr.length<=1){
return arr
}
var left=[];
var right=[];
var oNum = Math.floor(arr.length/2);
var oNumVode = arr.splice(oNum,1);
for(var i=0;i<arr.length;i++){
if(arr[i]<oNumVode){
left.push(arr[i])
}else{
right.push(arr[i])
}
}
return oSort(left).concat([oNumVode],oSort(right))
}
var array = [5, 4, 3, 2, 1];
var temp = 0;
for (var i = 0; i < array.length; i++){
for (var j = 0; j < array.length - i; j++){
if (array[j] > array[j + 1]){
temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp;
}
}
}
