块级元素和行内元素
行内元素:与其他行内元素并排
不能设置宽高,默认的宽度就是文字的宽度
除了p之外的所有文本级标签(span,a,b,i,u,em)
块级元素:霸占一行,不能与其他任何元素并列。
能接受宽高,如果不设置宽度,那么宽度将默认变为父级的100%
所有的容器级标签(div,h系列,lt,dt,dd),以及p标签
什么是闭包以及闭包的优缺点
闭包是定义在一个函数内部的函数。
优点:可以读取函数内部变量以及将变量的值始终保持在内存中不会被自动清除。
缺点:1.由于将函数变量都保存在内存中,内存消耗很大,会造成网页性能问题,并且在IE中可能导致内存泄露
2.闭包可以在父函数外改变父函数内部变量的值。
HTML文件里开头的DOCTYPE有什么作用
DOCTYPE是document type(文档类型)的简写,在web设计中用来声明文档类型。它是一条指令,告诉浏览器编写页面所用的标记的版本。
cookie和session的区别
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用cookie
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
GET和POST两种基本请求方法的区别
在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
除了GET和POST之外的请求方法:
OPTIONS:这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用'*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。
HEAD:与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。
PUT:向指定资源位置上传其最新内容。
DELETE:请求服务器删除Request-URI所标识的资源。
TRACE:回显服务器收到的请求,主要用于测试或诊断。
CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)。
Javascript中可以利用toString()将数字变成字符串,可以用split()将字符串变成数组
常见的HTTP相应状态码
Ajax与Flash
1.Ajax的优势:1.可搜索性 2.开放性 3.费用 4.易用性 5.易于开发。
2.Flash的优势:1.多媒体处理 2.兼容性 3.矢量图形 4.客户端资源调度
3.Ajax的劣势:1.它可能破坏浏览器的后退功能 2.使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中 ,不过这些都有相关方法解决。
4.Flash的劣势:1.二进制格式 2.格式私有 3.flash 文件经常会很大,用户第一次使用的时候需要忍耐较长的等待时间 4.性能问题
Ajax事件
ajax的事件是:
ajaxComplete(callback)
ajaxError(callback)
ajaxSend(callback)
ajaxStart(callback)
ajaxStop(callback)
ajaxSuccess(callback)
label属性for对应的是id
typeof null //"object"
在js中,定义了两个同名函数后,后面的函数会覆盖前面定义的函数。
置换元素
置换元素是指:浏览器根据元素的标签和属性,来决定元素的具体显示内容。
例如:浏览器根据标签的src属性显示图片。根据标签的type属性决定显示输入框还是按钮。html中的
非置换元素
浏览器中的大多数元素都是不可置换元素,即其内容直接展示给浏览器。
例如
在不涉及样式的情况下,页面元素是“从上往下”解析的
屏幕尺寸标准
超小屏幕(手机) |
小屏幕(平板) |
中等屏幕(桌面) |
大屏幕(桌面) |
<768px |
>=768 |
>=992 |
>=1200 |
.col-xs- |
.col-sm- |
.col-md- |
.col-lg- |
当margin-top、padding-top的值是百分比时,分别相对最近父级块级元素的width,相对最近父级块级元素的width
浏览器内核
Wekbit是一个开源的Web浏览器引擎,也就是浏览器的内核。Apple的Safari, Google的Chrome, Nokia S60平台的默认浏览器,Apple手机的默认浏览器,Android手机的默认浏览器均采用的Webkit作为器浏览器内核。Webkit的采用程度由 此可见一斑,理所当然的成为了当今主流的三大浏览器内核之一。另外两个分别是Gecko和Trident,大名鼎鼎的Firefox便是使用的Gecko 内核,而微软的IE系列则使用的是Trident内核。
另外,搜狗浏览器是双核的,双核并不是指一个页面由2个内核同时处理,而是所有网页(通常是标准通用标记语言的应用超文本标记语言)由webkit内核处理,只有银行网站用IE内核
HTML5中常用的新特性:
canvas元素:用于定义图形(图表等),只是图形容器,必须使用脚本来绘制图形。
audio:用于音频播放。
video:用于视频播放。
article:规定独立的自包含内容。
header:定义文档的页眉,介绍相关信息。
section:定义文档中的节。
footer:定义文档的页脚,通常有文档的作者、版权信息、联系方式等。
nav:定义导航链接。
表单控件:
calender
date
time
url
search
callee可以引用当前正在执行的函数。
异步任务,同步任务
所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务指的是,不进入主线程、而进入"任务队列"(task queue)的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。
异步执行的运行机制如下:
(1)所有同步任务都在主线程上执行,形成一个执行栈(execution context stack)。
(2)主线程之外,还存在一个"任务队列"(task queue)。只要异步任务有了运行结果,就在"任务队列"之中放置一个事件。
(3)一旦"执行栈"中的所有同步任务执行完毕,系统就会读取"任务队列",看看里面有哪些事件。那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行。
(4)主线程不断重复上面的第三步。
div水平垂直居中六种方法
eg: display: table-cell;
vertical-align: middle;
text-align: center;
eg: left:calc((400px - 200px)/2);
top:calc((160px - 50px)/2);
理解URI和URL的区别,我们引入URN这个概念。
URI = Universal Resource Identifier 统一资源标志符
URL = Universal Resource Locator 统一资源定位符
URN = Universal Resource Name 统一资源名称
当函数被创建,就有了作用域,当函数被调用就有了作用域链,当函数被继承就有了原型链,当需要获取作用域链或原型链上的变量或值时,就有了闭包
继承的几种方法(以a,b两个类为例)
变量提升,就是把变量提升到函数的顶部,需要注意的是,变量提升只是提升变量的声明,不会把变量的值也提升上来。
函数提升就是把函数提升到前面。只会把函数声明提升到函数顶部,不会把函数的表达式提升上去。
一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
分为4个步骤:
(1),当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询。这能使浏览器获得请求对应的IP地址。
(2), 浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接。该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在 浏览器和服务器之间传递。该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后由客户端发出该请求已经被接受的报文。
(3),一旦TCP/IP连接建立,浏览器会通过该连接向远程服务器发送HTTP的GET请求。远程服务器找到资源并使用HTTP响应返回该资源,值为200的HTTP响应状态表示一个正确的响应。
(4),此时,Web服务器提供资源服务,客户端开始下载资源。
同源策略是一种安全协议,指一段脚本只能读取来自同一来源的窗口和文档的属性。这里的同源策略指的是:协议,域名,端口相同。
页面重构怎么操作?
编写 CSS、让页面结构更合理化,提升用户体验,实现良好的页面效果和提升性能。
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
JSONP用来实现跨域传输数据。
AMD
AMD 即Asynchronous Module Definition,中文名是异步模块定义的意思
AMD是提前执行,推崇依赖前置。
CMD
CMD 即Common Module Definition通用模块定义,
CMD是推迟执行,推崇依赖就近。