- setTimeOut中的this永远指向window,因为setTimeOut延迟执行
- Typed Array主要由下面几个类构成:
ArrayBuffer: 连续的内存缓冲区,用于实际储存各种类型的数组数据
Typed Array View类:比如Int32Array、Uint8Array、Float32Array等,表示一个特定类型的数组
DataView: 工具类,提供getUint8、setFloat32等工具方法修改ArrayBuffer不同位置的数据值 - HTML5新增的布局标签:header,hgroup,nav,aside,section,article,footer,figure,menu.
- 严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码。
混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。
如何区分:浏览器解析时到底使用严格模式还是混杂模式,与网页中的 DTD 直接相关。
1、如果文档包含严格的 DOCTYPE ,那么它一般以严格模式呈现。(严格 DTD ——严格模式)
2、包含过渡 DTD 和 URI 的 DOCTYPE ,也以严格模式呈现,但有过渡 DTD 而没有 URI (统一资源标识符,就是声明最后的地址)会导致页面以混杂模式呈现。(有 URI 的过渡 DTD ——严格模式;没有 URI 的过渡 DTD ——混杂模式)
3、DOCTYPE 不存在或形式不正确会导致文档以混杂模式呈现。(DTD不存在或者格式不正确——混杂模式)
4、HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。( HTML5 没有严格和混杂之分)
意义:严格模式与混杂模式存在的意义与其来源密切相关,如果说只存在严格模式,那么许多旧网站必然受到影响,如果只存在混杂模式,那么会回到当时浏览器大战时的混乱,每个浏览器都有自己的解析模式。
5.Null和Undefined的区别。
Null是对象,Undefined是一个数据类型,Null==Undefined。
Null:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点
Undefined:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2)调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
- float的属性值:
- left:元素向左浮动。
- right:元素向右浮动。
- none :默认值。元素不浮动,并会显示在其在文本中出现的位置。
- inherit:规定应该从父元素继承 float 属性的值。
- sass优缺点
CSS预处理器,好处:变量、mixin、函数、规则嵌套、颜色处理等,坏处:css的文件体积和复杂度不可控、调试难度增加、成本等 - javaScript包含核心(ECMAScript)、文档对象模型(DOM)、游览器对象模型(BOM) 。
- 内存泄漏
- 反复重写同一个属性会造成内存大量占用(但关闭IE后内存会被释放)
- 给DOM对象用attachEvent绑定事件
- 从外到内执行appendChild。这时即使调用removeChild也无法释放等等
-
MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC模式的目的是实现一种动态的程式设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分组:
控制器(Controller)- 负责转发请求,对请求进行处理。
视图(View) - 界面设计人员进行图形界面设计。
模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。https://zh.wikipedia.org/wiki/MVC