国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端面試題目匯總

lastSeries / 3075人閱讀

摘要:線程在執行過程中與進程還是有區別的。但是線程不能夠獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。從邏輯角度來看,多線程的意義在于一個應用程序中,有多個執行部分可以同時執行。

關于js

1.原型鏈
2.AJAX請求數據時解決緩存的辦法
3.js的繼承
4.簡單談談事件冒泡和事件捕獲
5.閉包什么時候會用到有什么好處
6.三目運算符
7.圖表的使用
8.AJAX跨域如何解決
9.談談Promise的理解
10.遞歸
11.ES6

關于前端框架

1.angular和jquery有什么區別
2.三大框架的區別和特性,項目案列VUE REACT ANGULAR
3.三大框架實戰演練
4.angular路由
5.倆個angular之間如何傳值
6.VUE的寫法

關于JAVASCRIPT自動化構建工具

1.GULP GRUNT WEBPACK的了解
2.搭建項目步驟的演示

移動端兼容性問題

1.IE opacity不起作用解決辦法
2.Placeholder不起作用解決辦法
3.input被鍵盤遮擋解決辦法
4.audio在微信里音樂無法自動播放

關于CSS3 HTML5

1.CSS3 HTML5新屬性
2.LESS SASS和css的區別
3.rem和px的區別
4.微信登錄 第三方支付 分享
5.地圖 Geolocation
6.WEbsockt

關于版本控制系統 1.GIT 更新/提交代碼

cd kake/ 項目名

sh.git

pull/push

update_1/描述用英文并用下劃線分割
注: 更新之前可使用git status查看是否有修改,git diff查看所修改文件

更新完 source下面 npm run all

修改host文件

sudo vim /ect/hosts

i 鍵盤修改

Esc :

wq 保存并退出

解決沖突

CONFLICT
cd 目錄名
git add 文件沖突路徑
kake/frontend/less/detail/index.less

2.SVN

關于數據結構與算法## box-sizing: border-box的作用

當你設置一個元素為 box-sizing: border-box; 時,此元素的內邊距和邊框不再會增加它的寬度。
例如:

舉個例子

.box {

width: 500px;     
height:100px;  
border: 1px solid #000;
-webkit-box-sizing: border-box;     
    -moz-box-sizing: border-box;
              box-sizing: border-box;

}
如果這時候你加上一個內邊距屬性,padding: 10px;
這個div不會撐開,即你所見的邊框位置沒有任何變動,但是“舉個例子”這句話會和div邊框有10px的間距。
一般在寫頁面的時候用這個屬性就不會再考慮邊框和內邊距會改變整體所占寬度,即不用再根據盒子模型再去計算,省去很多麻煩。

在不使用第三個變量的情況下使倆個變量的值互換

算術運算
int a,b;
a=10;b=12;
a=b-a; //a=2;b=12
b=b-a; //a=2;b=10
a=b+a; //a=10;b=10
它的原理是:把a、b看做數軸上的點,圍繞兩點間的距離來進行計算。
具體過程:第一句“a=b-a”求出ab兩點的距離,并且將其保存在a中;第二句“b=b-a”求出a到原點的距離(b到原點的距離與ab兩點距離之差),并且將其保存在b中;第三句“a=b+a”求出b到原點的距離(a到原點距離與ab兩點距離之和),并且將其保存在a中。完成交換。
此算法與標準算法相比,多了三個計算的過程,但是沒有借助臨時變量。(以下稱為算術算法)

this的指向:

1、作為普通函數調用(this指向全局對象window對象)
2、作為對象的方法調用(this指向該對象)
3、構造器調用(this指向用new返回的這個對象)
4、call、apply、bind的調用(this指向第一個參數對象)

new操作符具體干了什么呢?

1、創建一個新對象
2、將構造函數的作用域賦給新對象(因此this就指向了這個新對象)
3、執行構造函數中的代碼(為這個新對象添加屬性)
4、返回新對象

null和undefined的區別?

1、null是一個表示”無”的對象,轉為數值時為0;undefined是一個表示”無”的原始值,轉為數值時為NaN。
2、undefined表示”缺少值”,就是此處應該有一個值,但是還沒有定義。
3、null表示”沒有對象”,即該處不應該有值。

call、apply、bind的區別

三者都是用來改變函數的this對象的指向的。
三者第一個參數都是this要指向的對象,也就是想指定的上下文。
call 傳入的參數數量不固定,第二部分參數要一個一個傳,用,隔開。
apply 接受兩個參數,第二個參數為一個帶下標的集合,可以為數組,也可以為類數組。
bind 是返回一個改變了上下文的函數副本,便于稍后調用;apply 、call 則是立即調用 。
本地存儲

sessionStorage和localStorage的區別

sessionStorage用于本地存儲一個會話(session)中的數據,這些數據只有在同一個會話中的頁面才能訪問并且當會話結束后數據也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。
localStorage用于持久化的本地存儲,除非主動刪除數據,否則數據是永遠不會過期的。
具體參見:本地存儲sessionStorage與localStorage

cookie 和session

1、cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙,考慮到安全應當使用session。
3、session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面,應當使用COOKIE。
4、單個cookie保存的數據不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie。每次請求一個新的頁面的時候Cookie都會被發送過去,與服務器進行交互。

XML和JSON的區別?

1、數據體積方面。
JSON相對于XML來講,數據的體積小,傳遞的速度更快些。
2、數據交互方面。
JSON與JavaScript的交互更加方便,更容易解析處理,更好的數據交互。
3、數據描述方面。
JSON對數據的描述性比XML較差。
4、傳輸速度方面。
JSON的速度要遠遠快于XML。

如何實現瀏覽器內多個標簽頁之間的通信?

調用localstorge、cookies等本地存儲方式

線程與進程的區別

1、一個程序至少有一個進程,一個進程至少有一個線程.
2、線程的劃分尺度小于進程,使得多線程程序的并發性高。
3、進程在執行過程中擁有獨立的內存單元,而多個線程共享內存,從而極大地提高了程序的運行效率。
4、線程在執行過程中與進程還是有區別的。每個獨立的線程有一個程序運行的入口、順序執行序列和程序的出口。但是線程不能夠獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。
5、從邏輯角度來看,多線程的意義在于一個應用程序中,有多個執行部分可以同時執行。但操作系統并沒有將多個線程看做多個獨立的應用,來實現進程的調度和管理以及資源分配。這就是進程和線程的重要區別。

漸進增強和優雅降級

漸進增強 :針對低版本瀏覽器進行構建頁面,保證最基本的功能,然后再針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗。

優雅降級 :一開始就構建完整的功能,然后再針對低版本瀏覽器進行兼容。

性能優化

網頁內容
減少 http請求次數
減少 DNS查詢次數
避免頁面跳轉
緩存 Ajax
延遲加載
提前加載
減少 DOM元素數量
避免 404
服務器
使用CDN(內容分發網絡)
添加Expires或Cache-Control報文頭
Gzip壓縮傳輸文件
CSS
將樣式表置頂
用代替@import
JavaScript
把腳本置于頁面底部
使用外部JavaScript和CSS
精簡JavaScript和CSS
去除重復腳本
減少DOM訪問
圖片
優化圖像
優化CSS Spirite
不要在HTML中縮放圖片
favicon.ico要小而且可緩存

如何解決跨域問題?

jsonp、CORS、document.domain+iframe、window.name、window.postMessage

jsonp的原理就是利用了

閱讀需要支付1元查看
<