前端面试题(五)

  • position的属性有哪些?

1、absolute生成绝对定位的元素,相对于值不为 static的第一个父元素进行定位。
2、fixed (老IE不支持)生成绝对定位的元素,相对于浏览器窗口进行定位。
3、relative生成相对定位的元素,相对于其正常位置进行定位。
4、static默认值。没有定位,元素出现在正常的流中。
5、inherit规定从父元素继承 position 属性的值。
6、sticky粘性定位,该定位基于用户滚动的位置。它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。    
  • javascript中的this作用域

在Javascript中this总是指向调用它所在方法的对象。因为this是在函数运行时,自动生成的一个内部对象,只能在函数内部使用。
1、对于全局的方法调用,this指向的是全局对象window,即调用方法所在的对象。
2、通过对象定义的函数的this指向该实例化对象
3、构造函数内部定义的函数中,this指向该构造函数:
4、箭头函数中this的指向与外层函数的this指向一致:
  • HTTP报文
HTTP报文就是浏览器和服务器间通信时发送及响应的数据块。
浏览器向服务器请求数据,发送请求(request)报文;服务器向浏览器返回数据,返回响应(response)报文。
报文信息主要分为两部分
1.包含属性的首部(header)--------------------------附加信息(cookie,缓存信息等)与缓存相关的规则信息,均包含在header中
2.包含数据的主体部分(body)-----------------------HTTP请求真正想要传输的部分
  • http缓存机制有哪些?缓存机制的执行过程是什么?
HTTP缓存有多种规则,根据是否需要重新向服务器发起请求来分类,将其分为两大类(强制缓存,对比缓存(协商缓存))
对于强制缓存,服务器通知浏览器一个缓存时间,在缓存时间内,下次请求,直接用缓存,不在时间内,执行比较缓存策略。
对于比较缓存,将缓存信息中的Etag和Last-Modified通过请求发送给服务器,由服务器校验,返回304状态码时,浏览器直接使用缓存。

浏览器第一次缓存:

浏览器再次请求:

  • 水平垂直居中的方法

方法一:
div {position: absolute;        /* 相对定位或绝对定位均可 */width:500px;height:300px;top: 50%;left: 50%;transform: translate(-50%, -50%);background-color: pink;         /* 方便看效果 */}方法二:
div {position: relative;        /* 相对定位或绝对定位均可 */width:500px;height:300px;top: 50%;left: 50%;margin: -150px 0 0 -250px;         /* 外边距为自身宽高的一半 */background-color: pink;         /* 方便看效果 */}方法三:
.container {display: flex;align-items: center;         /* 垂直居中 */justify-content: center;    /* 水平居中 */}.container div {width: 100px;height: 100px;background-color: pink;        /* 方便看效果 */}  
  • HTTP请求,Cookie的使用过程?

1、server通过HTTP Response中的"Set-Cookie: header"把cookie发送给client
2、client把cookie通过HTTP Request 中的“Cookie: header”发送给server
3、每次HTTP请求,Cookie都会被发送。
  • JavaScript实现发布订阅模式

function Public() {this.handlers = {};
}
Public.prototype = {// 订阅事件on: function(eventType, handler){var self = this;if(!(eventType in self.handlers)) {self.handlers[eventType] = [];}self.handlers[eventType].push(handler);return this;},// 触发事件(发布事件)emit: function(eventType){var self = this;var handlerArgs = Array.prototype.slice.call(arguments,1);for(var i = 0; i < self.handlers[eventType].length; i++) {self.handlers[eventType][i].apply(self,handlerArgs);}return self;},// 删除订阅事件off: function(eventType, handler){var currentEvent = this.handlers[eventType];var len = 0;if (currentEvent) {len = currentEvent.length;for (var i = len - 1; i >= 0; i--){if (currentEvent[i] === handler){currentEvent.splice(i, 1);}}}return this;}
};var Publisher = new Public();//订阅事件a
Publisher.on('a', function(data){console.log(1 + data);
});
Publisher.on('a', function(data){console.log(2 + data);
});//触发事件a
Publisher.emit('a', '我是第1次调用的参数');Publisher.emit('a', '我是第2次调用的参数');  
  • Ajax 是什么? 如何创建一个Ajax?(ajax的执行流程)
 ajax:异步传输+js+xml。所谓异步,在这里简单地解释就是:向服务器发送请求的时候,我们不必等待结果,而是可以同时做其他的事情,等到有了结果它自己会根据设定进行后续操作,与此同时,页面是不会发生整页刷新的,提高了用户体验。(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息(3)设置响应HTTP请求状态变化的函数(4)发送HTTP请求(5)获取异步调用返回的数据(6)使用JavaScript和DOM实现局部刷新

 

转载于:https://www.cnblogs.com/strong-FE/p/10940538.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qrcode.js 二维码生成器

二维码生成 并显示&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml" xml:lang"ko" …

SQL -- 多表查询

-- --SQL基础-->多表查询 -- /* 一、多表查询 简言之&#xff0c;根据特定的连接条件从不同的表中获取所需的数据 笛卡尔集的产生条件&#xff1a; 省略连接条件 连接条件无效 第一个表中的所有行与第二个表中的所有行相连接 二、多表查询语法&#xff1a;*/ SELECT tab…

如何解决两个相邻的span中间有空隙

span中间不要有换行、或者空格 或者在样式上加上float&#xff1a;left转载于:https://www.cnblogs.com/lst619247/p/10944341.html

Vue项目中Table设置 render 函数

statusList1: {0: "",1: "",2: "药品服务费收入",3: "特药服务费收入",4: "直保经纪费",5: "再保经纪费",6: "广告费",},render: (h, params) > {return this.colorCommon(h, params.row, "1&q…

AVPlayer设置从哪儿开始播放

avplayer 播放视频 首先介绍几个方法吧和属性吧。 - (id)addPeriodicTimeObserverForInterval:(CMTime)interval queue:(dispatch_queue_t)queue usingBlock:(void (^)(CMTime time))block 这个方法可以用于跟新进度条。 - (void)seekToTime:(CMTime)time completionHandler:(v…

老男孩爬虫实战密训课第一季,2018.6,初识爬虫训练-实战1-爬取汽车之家新闻数据...

1.爬虫介绍 编写程序&#xff0c;根据URL获取网站信息 2.用到的库 requests库 bs4库 3.内容及步骤 4.代码 import requests import os from bs4 import BeautifulSoup # 1.下载页面 ret requests.get(urlhttps://www.autohome.com.cn/news/) ret.encoding ret.apparent_encod…

Table 表格导出功能

<Card class"clearfix"><p slot"title"><Icon type"ios-list"></Icon>收入信息</p><!-- 导出1 --><div class"daochu1"><!-- 导出按钮 --><div class"search"><B…

iOS开发 简单实现视频音频的边下边播

直接切入主题&#xff0c;要实现的功能是&#xff1a;1、ios视频音频边缓存边播放&#xff0c;缓存时可以在已下载的部分拖拽进度条。2、缓存到一半退出&#xff0c;再次播放同一地址的视频时&#xff0c;视频继续下载&#xff0c;并且缓存进度已经走到上一次下载的位置。3、无…

volatile的原理和实现机制

volatile到底如何保证可见性和禁止指令重排序的。 “观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现&#xff0c;加入volatile关键字时&#xff0c;会多出一个lock前缀指令” lock前缀指令实际上相当于一个内存屏障&#xff08;也成内存栅栏&#xff0…

Table城市代码翻译

// data 数据变量 eara&#xff1a;[]// 接口调用 getChinaList() {return fetch({url: "/api/v1/china/city/search",method: "GET"});},// table 栏中的 render 函数 render: (h, params) > {return h("span",this.dictCodesCommon(params.…

iOS中的WiFi与硬件通信

WiFi通信是指手机通过WiFi与外部设备建立连接&#xff0c;并与外部设备进行交互、通信。手机与外部设备的WiFi通信通常是使用Socket来实现的&#xff0c;在这里先介绍一个第三方Socket库&#xff08;CocoaAsyncSocket&#xff09;来实现WiFi通信。 CocoaAsyncSocket支持TCP和U…

MongoDB查询报错:class com.mongodb.MongoSecurityException: Exception authenticating MongoCredential...

异常日志&#xff1a; 2019-05-30 10:10:24,252 [http-nio-8080-exec-1] DEBUG [java.sql.Connection] - ooo Connection Opened 2019-05-30 10:10:24,258 [http-nio-8080-exec-1] DEBUG [java.sql.PreparedStatement] - > Executing: insert into client_config ( appid, …

动态添加后的数据转换 — 后台接收数据

let data this.projectPersonnel.map(item > {let obj {}obj.member item.people.map(info > {return info.id})obj.member JSON.stringify(obj.member)obj.projectId idobj.teamId item.name.idreturn obj})

iOS开发--地图与定位

iOS开发--地图与定位 概览 现在很多社交、电商、团购应用都引入了地图和定位功能&#xff0c;似乎地图功能不再是地图应用和导航应用所特有的。的确&#xff0c;有了地图和定位功能确实让我们的生活更加丰富多彩&#xff0c;极大的改变了我们的生活方式。例如你到了一个陌生的地…

CTO、技术总监、首席架构师的区别

项目经理是项目的直接负责人&#xff0c;这个角色相当于一个中间接口&#xff0c;不管是团队成员还是需求方&#xff08;客户&#xff09;&#xff0c;或者是上级领导&#xff0c;有事都直接找他&#xff0c;所以这个职位着重 于管理与沟通。一般来说&#xff0c;项目经理的工作…

iview组件库 - 穿梭栏设置

<Modalv-model"modal1"title"项目药品上下架维护"width"1020":mask-closable"false"on-ok"addOk()"><Col span"36"><Selectfilterableon-change"onChangeProject"placeholder"请先…

如何优雅地使用Sublime Text3

Sublime Text&#xff1a;一款具有代码高亮、语法提示、自动完成且反应快速的编辑器软件&#xff0c;不仅具有华丽的界面&#xff0c;还支持插件扩展机制&#xff0c;用她来写代码&#xff0c;绝对是一种享受。相比于难于上手的Vim&#xff0c;浮肿沉重的Eclipse&#xff0c;VS…

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13... 求出这个数列的前20项之和。...

题目&#xff1a;有一分数序列&#xff1a;2/1&#xff0c;3/2&#xff0c;5/3&#xff0c;8/5&#xff0c;13/8&#xff0c;21/13... 求出这个数列的前20项之和。 程序分析&#xff1a;请抓住分子与分母的变化规律。 public class 第二十题求数列之和 {public static void mai…

iview 组件 设置头像更换

基于iview 组件 设置头像更换 <!-- 头像更换 --><div style"width: 100%;height:100%;"><div style"height: 100%;"><Upload :on-success"uploadSuccess" :show-upload-list"false" accept"image/png, i…

HTML的target属性中_blank、_self、_parent、_top含义

_blank 浏览器会另开一个新窗口显示链接_self&#xff0c;在同一框架或窗口中打开所链接的文档。 此参数为默认值&#xff0c;通常不用指定。 _parent&#xff0c;将链接的文件载入含有该链接框架的父框架集或父窗口中。 如果含有该链接的框架不是嵌套的&#xff0c;则在浏览…