前端面試題(五)

  • 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.pswp.cn/news/247873.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247873.shtml
英文地址,請注明出處:http://en.pswp.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;則在瀏覽…