2020面試題彙總

2021-10-09 02:14:56 字數 2996 閱讀 7548

safari 

遨遊瀏覽器 3.x

搜狗瀏覽器

阿里雲瀏覽器

qq瀏覽器

360瀏覽器

唯讀屬性readonly:禁用屬性disabled:
!important>行內樣式》內聯樣式》外聯樣式

(內聯樣式和外聯樣式優先順序相同,所以後寫入的優先順序高一些)

colspan 屬性規定單元格可橫跨的列數
全域性作用域、區域性作用域
push() 方法:向陣列的末尾新增乙個或多個元素,並返回新的長度。

shift() 方法:把陣列的第乙個元素從其中刪除,並返回第乙個元素的值。

event.stoppropagation( )

在事件處理函式中,新增return false;

event.preventdefault(); //標準瀏覽器的阻止預設事件的寫法

在事件處理函式中,新增return false;/ie低版本瀏覽器的寫法

window.close()(有相容性問題,對某些瀏覽器失效)
history.back();

history.go(-1);

ecmascript中所有函式的引數都是按值傳遞的
1、jsonp

2、websocket

3、cors

4、hash

5、postmessage

1、opacity:0

2、visibility:hidden

3、diaplay:none

4、position:absolute

內容(content)、內邊距(padding)、邊框(border)、外邊距(margin)
string

number

boolean

null

undefined

cookie

localstroage

sessionstroage

undefined

string

boolean

number

symbol(es6)

object

function

div
1:this永遠指向乙個物件;

2:this的指向完全取決於函式呼叫的位置;

get把引數包含在url中,post通過request body傳遞引數;

post比get更安全,因為get是將引數直接暴露在url上,所以不能用來傳遞敏感資訊;

get請求在url中傳送的引數是有長度限制的,而post沒有有;

對引數的資料型別,get只接受ascii字元,而post沒有限制;

get在瀏覽器回退時是無害的,而post會再次提交請求;

get產生的url位址可以被bookmark,而post不可以;

get請求會被瀏覽器主動cache,而post不會,除非手動設定;

get請求只能進行url編碼,而post支援多種編碼方式;

get請求引數會被完整保留在瀏覽器歷史記錄裡,而post中的引數不會被保留;

**此外:**

get和post本質上就是tcp鏈結,並無差別。只是由於http的規定和瀏覽器/伺服器的限制,導致他們在應用過程中體現出一些不同。

但get和post還有乙個重大區別,簡單的說就是get產生乙個tcp資料報;post產生兩個tcp資料報。

**產生原因**:

get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);

post方式請求,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。

因為post傳輸需要兩步,時間上消耗會多一點,所以看起來get比post更有效。但是,據研究,在網路環境好的情況下,發一次包的時間和發兩次包的時間差別基本可以無視。而在網路環境差的情況下,兩次包的tcp在驗證資料報完整性上,有非常大的優點,所以謹慎選用。而且並不是所有瀏覽器都會在post中傳送兩次包,firefox就只傳送一次。

以下情況只能使用post請求:

1、無法使用快取檔案;

2、向伺服器傳送大量資料;

3、傳送包含未知字元的使用者輸入時,post比get更穩定也更可靠

其他情況下使用post請求:

1、做資料新增、修改或刪除時

2、傳輸資料報含機密資訊時

建議使用get方法的情況:

1、請求是為了查詢資源,html表單資料僅用來幫助搜尋時

2、請求結果無持續性的***時

3、收集的資料及html表單內的輸入欄位名稱總長不超過1024個字元時

var x = 1;

y = 0;

z = 0;

function add(n)

y = add(x);

z = x + y;

console.log('y1:' + y)//y1:undefined

console.log('z1:' + z)//z2:nan

function add(n)

y = add(x);

z = x + y;

console.log('y2:' + y)//y1:undefined

console.log('z2:' + z)//z2:nan

面試題彙總

1.佇列先進先出,棧先進後出。2.對插入和刪除操作的 限定 棧是限定只能在表的一端進行插入和刪除操作的線性表。佇列是限定只能在表的一端進行插入和在另一端進行刪除操作的線性表。從 資料結構 的角度看,它們都是線性結構,即資料元素之間的關係相同。3.遍歷資料速度不同。順序表是在記憶體中開闢一段連續的空間...

面試題彙總

1 integer和int的區別?2 和equals的區別?int a 50,integer b 50 a b?integer c 50,b c?3 get和post的區別?4 用執行緒池建立執行緒和自己建立執行緒的區別,好處是什麼?5 利用int型陣列實現乙個棧,並實現出棧和入棧操作?要求時間複雜...

面試題彙總

題目都是我自己寫的,所以也不一定是完全正確的,因為能有很多細節沒有考慮,如果大家發現了希望指正 1 完美世界2017 刪除vector中所有偶數 最想去的地方呀。void deleteeven vector v2 else if iter 2 0 else 2 編寫類string的建構函式,析構函式...