http网络协议与基础

1. OSI 七层模型指什么 (难度*)

OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织ISO提出的一个网络系统互连模型,实现不同计算机及网络之间的通讯ヮ

  • 1,物理层:将信息编码成电流脉冲或其他信号用于网上传输(原始比特流的传输)——对应网络中的:中继器,集线器、网线、HUB
  • 2,数据链路层:通过物理网络链路供数据传输(将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址)——对应网络中的:网卡,网桥,交换机
  • 3,网络层:把网络地址翻译成物理地址,决定数据的路径选择和转寄,IPv4,IPv6(本层通过寻址来建立两个节点之间的连接,它包括通过互连网络来路由和中继数据)——对应于网络中的:网络:路由器,防火墙、多层交换机
  • 4,传输层:向高层提供可靠的端与端的网络数据流服务(常规数据递送,面向连接或无连接。包括全双工或半双工、流控制和错误恢复服务 )——对应于计算机:进程和端口
  • 5,会话层:实现不同机器上的用户建立对话关系(在两个节点之间建立端连接。此服务包括建立连接是以全双工还是以半双工的方式进行设置,尽管可以在层4中处理双工方式)——对应于计算机:建立会话,SESSION认证、断点续传
  • 6,表示层:用于应用数据编码和转化,以确保一个系统应用层发送的信息可以被另一个系统应用层识别。(格式化数据,以便为应用程序提供通用接口。这可以包括加密服务。解决不同系统之间的通信)——对应于计算机:编码方式,图像编解码、URL字段传输编码
  • 7,应用层:规定数据的传输协议(直接对应用程序提供服务,应用程序可以变化,但要包括电子消息传输)——对应于计算机:应用程序,如FTP,SMTP,HTTP

this基础:简单使用与apply、call

apply、call 有什么作用,什么区别

  • apply()是函数对象的一个方法,它的作用是改变函数的调用对象,即this的指向
  • 区别是:call接收的是参数列表,需要传入所需要的每一个参数,apply接收的是参数数组,参数存放在数组中
    fn.call(context, param1, param2…)
    fn.apply(context, paramArray)
    ···
    如果第一个参数为null,则this指向全局对象window,

瀑布流布局的原理及实现

问答:

  1. 瀑布流布局的原理是什么
  • 瀑布流布局,就是一堆等宽不等高的盒子元素,使用绝对定位的方式,根据盒子高度自动放入最短栏队列排齐。
  • 由于盒子元素宽度固定,根据父容器的宽度,计算一行可以放多少个盒子。用(父元素宽度/盒子宽度)获得多少列。
  • 新建一个记录列高度的数组,这个数组存放盒子排列后的每列的高度,列数是这个数组的长度,初始均为0.
  • 遍历数组,查找数值最小的元素(列高最低)及其下标,将下一个元素放到对应的位置,由于使用绝对定位,距离父容器的top=列高最低的高度,距离父容器的left=每列的宽度*数组的下标(列的个数)
  • 摆放好元素后,更新这个位置的高度,重新遍历数组,重复上一步操作,知道元素排列完成

jQuery常用方法及其对ajax的实现

问答

1. Jquery 中, $(document).ready()是什么意思?和window.onload 的区别? 还有其他什么写法或者替代方法?

  • $(document).ready()是指在DOM文档树加载完成之后执行,并不是指整个文档。也可以写成:$().ready()或者$();。
  • window.onload是在dom文档树加载完和所有文件加载完之后执行。
  • $(document).ready()可以有多个,且不会覆盖,按照顺序来执行,而window.onload只能绑定一次,后面的会覆盖前面的。

jQuery介绍及其DOM操作、事件

问答

1.说说库和框架的区别?

  • 库是一些方法的集合,避免定义重复功能的函数并具有一定的模式兼容性。类似于一个工具箱,里面有很多的工具,比如jQuery,可以很方便的调用里面的方法和函数,实现一些功能。
  • 框架更应该是一种对开发者的规范,开发者按照框架的设计去实现以下功能或效果,并非简单的工具集的概念,框架可以提供相应的库或者基于库来实现,但是库一般不具备框架的规范性。比如bootstrap,提供了一种完整的规范和功能,我们在它的基础上进行调整。

ajax介绍与使用

问答

1. ajax 是什么?有什么作用?

ajax是异步的 JavaScript 和 XML,是js的一个方法。作用是在不加载整个页面的情况下,与服务器交换数据,更新部分网页的内容。

  • 因为是采用异步,所以需要设置一个监听事件的方法:

    200表示ok,404表示找不到资源
    readyState分0,1,2,3,4总共5个xmlhttpRequest响应的状态。
    0: 请求未初始化
    1: 服务器连接已建立
    2: 请求已接收
    3: 请求处理中
    4: 请求已完成,且响应已就绪

请求响应结束后,客户端接收数据xmlhttp.responseText并进行相应处理

js操作DOM事件

问答

1.dom对象的innerText和innerHTML有什么区别?

  • innerText返回的是节点内的文本内容,若是多层嵌套,则文本内容是由浅到深的文本拼接
  • innerHTML返回的是元素的HTML结构,包含DOm节点和文本内容,在写入的时候也会自动构建DOM
,