看了看小组项目,看了看毕业设计,我都无从下手,然后…我去买了点夜宵哈哈哈哈。
WEB标准以及W3C标准是什么?
1、标签闭合
2、标签小写
3、嵌套正确
4、外部链接css和js
5、提倡HTML结构、CSS表现和JS行为相分离
HTML和XHTML有什么区别
XHTML元素必须正确的嵌套
XHTML元素必须被关闭
标签名必须用小写字母
XHTML文档必须拥有根元素
Doctype作用?严格模式与混杂模式如何区分?有什么意义?
1、 <!DOCTYPE> 声明位于文档中的最前面,处于<html>
标签之前。告知浏览器以何种模式来渲染文档。
2、严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。
3.、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。
4.、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。
canvas和svg区别
- canvas:可伸缩矢量图形、放大缩小不会失真
- svg:HTML5新加的元素、使用XML描述2D图形的语言
margin重合问题,如何解决
重合问题:相邻的两个盒子垂直向上的margin会发生重叠,只会取比较大的那个margin
解决:
(1)设置padding代替margin
(2)设置float
(3)设置overflow
(4)设置position:absolute绝对定位
(5)设置display:inline-block
原型链和作用域链的区别
作用域链是对变量而言,原型链是对于对象的属性而言
作用域链的顶层是window,原型链的顶层是Object
document.write和innerHTML 的区别
document.write:将内容写入页面,清空替换掉原来的内容,会导致重绘
document.innerHTML :将内容写入某个DOM节点,不会重绘
栈和堆的区别
1、堆:动态分配内存,内存大小不一,也不会自动释放
2、栈:自动分配相对固定大小的内存,并由系统自动释放
3、基本类型都是存储在栈中,每种类型的数据占用的空间大小都是确定的,并且由系统自动分配和释放,内存可以及时回收。
4、引用类型的数据都是存储在堆中。准确来说:栈中存储这些数据的地址指针,并指向堆中的具体数据。
null和undefined区别
null:什么都没有,表示一个空对象引用(主动释放一个变量引用的兑现那个,表示一个变量不再指向任何引用地址)
undefined:没有设置值的变量,会自动赋值undefined
区别:
typeof undefined // undefined
typeof null // object
null === undefined //false
null == undefined //true
垃圾回收机制都有哪些策略
- 标记清除法
垃圾回收机制获取根并标记他们,然后访问并标记所有来自它们的引用,然后在访问这些对象并标记它们的引用…如此递进结束后若发现有没有标记的(不可达的)进行删除,进入执行环境的不能进行删除 - 引用计数法
当声明一个变量并给该变量赋值一个引用类型的值时候,该值的计数+1,当该值赋值给另一个变量的时候,该计数+1,当该值被其他值取代的时候,该计数-1,当计数变为0的时候,说明无法访问该值了,垃圾回收机制清除该对象
缺点: 当两个对象循环引用的时候,引用计数无计可施。如果循环引用多次执行的话,会造成崩溃等问题。所以后来被标记清除法取代。
内存管理
内存分配=》内存使用=》内存回收
解释一下JSONP 的工作原理,以及它为什么不是真正的AJAX
JSONP是一种非正式传输协议,允许用户传递一个callback给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。
当GET请求从后台页面返回时,可以返回一段JS代码,这段代码会自动执行,可以用来负责调用后台页面中的一个callback函数。
JSONP和AJAX的实质不同。
ajax的核心是通过xmlHTTPRequest获取非本页的内容。
jsonp的核心是动态添加script标签用服务器提供的js脚本。
jsonp只接受get请求,ajax接受get和post请求。
XML和JSON区别
1、xml是重量级的 json是轻量级的
2、xml在传输过程中比较占宽带,json占宽带少,易于压缩
3、xml和json都用在项目交互下,xml多用于配置文件,json用于数据交互