名词解释
1:HTTP
超文本传输协议 hyper text transfer protocol的缩写。是从万维网的服务器传输超文本到本地浏览器的传送协议。
HTTP是一个基于TCP / IP 通信协议来传递数据
2:XML
可扩展标记语言,精准通标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
3:REST
表述性状态传递,是一种软件架构风格。她是一种针对网络应用开发和设计的开发方式,可以降低开发的复杂性。提高系统的可伸缩性
4:Ajax
异步的JS和XML,是指一种不需要刷新整个页面也能够进行数据浏览的技术。主要是通过XMLhttprequest这个模块来实现的。
5:SVG
可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式
6:XSS
跨站脚本攻击。它指的是恶意攻击者往web页面插入恶意脚本代码,当用户浏览该页的时候,嵌入其中的web脚本代码就会被执行,从而达到恶意供给用户的特殊目的。
7:RIA
丰富互联网程序,具有高度的互动性,丰富用户体验以及功能强大的客户端。
8:WSDL
网络服务描述语言是web service 的描述语言,它包括一系列描述某个web service的定义
9:MashUp
将两种以上使用公共或者私有数据库的web应用,加在一起,形成一个整体的应用
10:IP
internet protocol 网络互联协议。是TCP/IP体系中的网络层协议,通过IP的设置,可以实现大规模的,以后网络的互联互通。
11:DNS
domain sysytem。域名系统,将域名和和IP地址可以一一的对应起来,使得人们能够更加便利的访问互联网。
12:URI
统一资源标识符,用于表示某一互联网资源名称的字符串。在web上可以对所有的资料,视频,音频,图像,文本用一个通用资源标识符进行定位
13:URL
统一资源定位符,是一个网页地址,其可以用IP地址来表示,也可以用网站的域名来表示
14:URN
统一资源名称,是统一资源标识URI的历史名字
15:网络机器人
在网络上用来爬取网站的信息的一段脚本或者是一段程序。又称作网络爬虫,网络蜘蛛,网络机器人,网页追逐者。
16:web的进阶
- web 1.0:网络资源从信息产生着到信息客户的单向流程
- web2.0:所有人既是网络资源的信息产生着,又是信息的客户
- web3.0:智能语义介入网络资源流程,更有针对性的发送信息和获取信息
17:插件
- 插件是一种遵循一定规范的应用程序接口编写出来的程序
- 很多软件都有插件,并且插件的好处可以更好的辅助用户进行学习,工作,扩展功能
- 坏处就是一些恶意的插件会损害计算机。
18:四个常用的优化技术
- 提前拿到资源和确立优先级
- 提前进行TCP连接
- 提前进行渲染
- 提前确定域名
19:优化的思路
- 避免【不必要的请求字节,不必要的资源请求】
- 传输时候【资源传输前先压缩,使用内容分发网络,在客户端储存部分的资源】
- 减少【域名的查询,TCP的连接,最少次数的http重定向】
- 使得请求和相应过程并行
20:具体的优化方式
- CSS 减少CSS 避免绝对的 放在文档的顶部 CSS分离
- image 确定合适的大小,不是让浏览器去决定 使用精灵
- js 放在html的底部 尽量使用外部的js
- 服务器 减少域名的查询 数据的压缩
- html 与标准兼容 去除空白符 结构简单 做到web和移动的兼容
21:为什么要使用闭包
- 保护命名空间
- 不污染全局变量
- 利用局部变量
- 使得变量可以常驻内存
- 闭包可能会产生内存泄漏
22:CSS的选择器的类型
- id选择器,但是尽量少用ID 用#
- class 用.
- 后代选择器 div p 【所有的,包括孙子,重孙】
- 子元素选择器 div >p 【只要儿子】
- 相邻兄弟选择器 div+p 【只要挨着的P】
- 后续兄弟选择器 div ~p 【后面的所有P】
23:CSS的新特性
- 矩形圆角的设置,透明度的设置
- 字体的拓展性和 font-size特性
- 使用column -count实现多列布局
- 响应式的web设计
- 盒子模型
24:为什么要是用JS的严格模式
-
消除JS的一些不合理,不严谨的地方,减少一些异常的代码
- 保证安全性,消除代码中的一些不安全的地方
- 提高编译器效率,增加运行速度
- 为新版本的JS做好铺垫
【安全,编译,新版本】
25 严格模式中有哪些要求
目前大多数的浏览器还是以 ES5为主,有些实现了 ES6的部分功能
- ES6的模块自动采用严格模式,不管有没有 use strict
- 变量先声明,后使用【变量】
- 参数不能有同名的属性【参数】
- 不能使用with【with】
- 不能对只读的属性进行赋值【赋值】
- 不能删除不可删除的属性【删除】
- 不能使用前缀0表示八进制数【八进制】
- eval不会在他的外层作用域引入变量【eval】
- eval 和arguements 不能被重新赋值【eval】
- arguements不会自动反应函数参数的变化【参数】
- 不能使用 argueents. callee【参数】
- 不能使用arguements.caller【参数】
- 禁止this指向全局变量【this】
- 不能使用fn.caller和fn.arguemeents获取函数调用的堆栈【堆栈】
- 增加了保留字(protected,static 和interface)【保留字】
变量先声明 后使用 不能赋值只读的属性 不能对不嫩格栅处的属性进行山和督促 不能是想用with 参数不能有同名的属性 不能使用前缀 0表示八进制水禁止this指向迁居汴梁 增加了保留字 protected,static,interface。eval不能对变量和参数进行赋值。eval的变量和参数不能在他的外层作用域引入变量,不能引用eval中的声明的变量。
ARguements.caller arguements.callee 不能使用 eavl和argeumnt不能被重新赋值 eval不能在他的外出呢过作用域引入变量 不能使用fn。caller和fn.arguements获取函数调用的堆栈
26 let,var,const的区别
- var定义的变量,作用域是整个封闭函数中的,是全局的。let定义的,是块级别的
- 变量提升:var声明的变量处于当前的第几行,都会提升到作用域的最顶部,而let声明的变量不会在顶部初始化,凡是在let声明之前使用该变量都会报错
- 只要块级作用域存储let,它所声明的变量就会绑定在这个区域
- const表示一个常量,不可被更改,在声明的时候就必须被初始化
【var全局let局部,const常量,var变量提升】
27 闭包是什么,举出例子并说明作用
-
引用了自由变量的函数
- 自由变量是作用域中可以导出到外部作用域的变量
- 函数内部变量和函数参数都可以是自由变量
- 函数参数不包含this和arguements
-
作用
- 实现私有成员
- 保护命名空间
- 避免污染全局变量
- 变量需要常驻内存
var log=(function(){
var counter=0;
return function(){
return counter+=1;
}
})();
add();
add();
add();
console.log(add());
4
28 正则表达式
1:邮箱
/[\w\-]+\@[\w\-]+\.[\w\-]+/
2:正整数
/^[1-9]*[1-9][0-9]*$/
* 是0次或者是多次
+ 是一次或者是多次
?是零次或者是一次
29:什么是原型链
- 每一个对象都有一个原型_proto_,而原型也可以由自己的原型,这样依次类推下去,就会形成形成一个原型链。查找特定属性的时候,我们就先从这个对象查起,如果没有,我们就去它的原型对象里面查找,一直向上的查找下去,这就是我们所说的原型链。
30:DOM
document object model 文档对象模型,指的是我们整个的html可以被看做是一个对象,文档对象。它具有特定的结构
- 是标准对象模型
- 是标准编程接口
- W3C的标准
- 定义了HTML元素的所有对象和属性,以及访问他们的方法
【标准,接口,定义了】
31 :JS的表单验证
- 数据在送往服务器之前对html表单中输入数据进行验证
- 表单提交,在form标签中增加onsubmit实践来判断表单提交是否成功
1:HTML5的新特性
【结构化便签,多媒体标签,图形绘制,新表单元素,离线的存储,表单控件,性能和集成,】
-
html加入了语义化标签 比如footer,article,header,nav
-
增加了canvas 新元素,图形的绘制和表格
-
多媒体元素,比如audio,video。source
-
增加了新表单元素 datalist,keygen,output
-
新的表单控件 date time email url
-
离线存储
-
有效的支持多重设备访问,与操作系统的集成更加的坚牢。
-
样式,支持了CSS3
-
增加三维,图形和特效
-
数据连通,改善前后数据交互,websocket技术减少了 header traffic,不需要轮询,全双工
-
性能与集成
2:HTML的语义化的好处
- 去掉样式或者样式丢失的时候会让页面呈现清晰的结构
- 屏幕阅读器会完全按照你的标记来阅读网页
- 搜索引擎的爬虫也依赖标价来确定上下文和各个关键字的权重
- 爬虫只注重语义,很大程度上会丢失标记
- 便于团队的开发和维护
3:为什么要使用CSS
-
使得样式和内容分离,更好的进行扩展和维护
-
使得一种样式能够修饰多个内容,增加其效率
【服务器传输超文本的协议,基于TCP/IP】