文章出處

持續更新中............
 
同點:都是保存在瀏覽器端,且同源的
 
區別:
cookie數據始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和服務器間來回傳遞。而sessionStorage和localStorage不會自動把數據發給服務器,僅在本地保存。
cookie數據還有路徑(path)的概念,可以限制cookie只屬于某個路徑下。存儲大小限制也不同,cookie數據不能超過4k,同時因為每次http請求都會攜帶cookie,所以cookie只適合保存很小的數據,如會話標識。sessionStorage和localStorage 雖然也有存儲大小的限制,但比cookie大得多,可以達到5M或更大。
數據有效期不同,sessionStorage:僅在當前瀏覽器窗口關閉前有效,自然也就不可能持久保持;localStorage:始終有效,窗口或瀏覽器關閉也一直保存,因此用作持久數據;cookie只在設置的cookie過期時間之前一直有效,即使窗口或瀏覽器關閉。
作用域不同,sessionStorage不在不同的瀏覽器窗口中共享,即使是同一個頁面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。
Web Storage 支持事件通知機制,可以將數據更新的通知發送給監聽者。Web Storage 的 api 接口使用更方便。
 
 
2.什么是漸進增強(progressive enhancement)、優雅降級(graceful degradation)呢?
  漸進增強 progressive enhancement:針對低版本瀏覽器進行構建頁面,保證最基本的功能,然后再針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗。
  優雅降級 graceful degradation:一開始就構建完整的功能,然后再針對低版本瀏覽器進行兼容。
  區別:優雅降級是從復雜的現狀開始,并試圖減少用戶體驗的供給,而漸進增強則是從一個非常基礎的,能夠起作用的版本開始,并不斷擴充,以適應未來環境的需要。降級(功能衰減)意味著往回看;而漸進增強則意味著朝前看,同時保證其根基處于安全地帶。
 
“優雅降級”觀點
“優雅降級”觀點認為應該針對那些最高級、最完善的瀏覽器來設計網站。而將那些被認為“過時”或有功能缺失的瀏覽器下的測試工作安排在開發周期的最后階段,并把測試對象限定為主流瀏覽器(如 IE、Mozilla 等)的前一個版本。
在這種設計范例下,舊版的瀏覽器被認為僅能提供“簡陋卻無妨 (poor, but passable)” 的瀏覽體驗。你可以做一些小的調整來適應某個特定的瀏覽器。但由于它們并非我們所關注的焦點,因此除了修復較大的錯誤之外,其它的差異將被直接忽略。
 
“漸進增強”觀點
“漸進增強”觀點則認為應關注于內容本身。
內容是我們建立網站的誘因。有的網站展示它,有的則收集它,有的尋求,有的操作,還有的網站甚至會包含以上的種種,但相同點是它們全都涉及到內容。這使得“漸進增強”成為一種更為合理的設計范例。這也是它立即被 Yahoo! 所采納并用以構建其“分級式瀏覽器支持 (Graded Browser Support)”策略的原因所在。
 
3.組件、插件、控件的區別

控件:是編程中用到的,按鈕就算是一個控件,窗口也是等等

組件:是軟件的一部分.軟件的組成部分.

插件:網頁中用到的,flash插件,沒有它瀏覽器不能播放flash.

 

首先范圍最廣的應該是組件,英文component,提起組件我們不應該把他和具體的技術,什么dll文件,ocx控件,activex等等聯系起來,因為組件僅僅是一個概念,如果非要解釋的話,那就是凡是在軟件開發中用到了軟件的復用,被復用的部分都可以稱為組件。構件的英文也是component,所以說構件和組件其實是一個意思只是翻譯的不同而已。

 

其實我認為最有意思的應該是插件,顧名思義,“插件”是允許我們動態插入的,而不是在編程的時候靜態的寫入的,這就是與普通的組件的區別,因為普通的組件是在編程的時候引入的。我們以硬件為例子,例如USB接口,主機設定了標準的接口,而不必考慮外部接口具體是什么設備只要這種設備實現主機提供的接口,兩者就可以通訊。這種插件有個最大的優點就是即插即用,即支持動態的插入。

 

插件是組件(構件)的一種,我們可以這樣給插件進行定義,那就是凡是在應用程序中已經預留接口的組件就是插件,例如:Java中jdbc技術,jdbc只是一個接口,任何一個插件制造商只要實現這個接口都可以被java平臺所使用。我們還可以拿IE插件作為例子,IE中之所以可以嵌入很多的應用程序,那是因為IE允許他們插入,說的明白一點,那就是在IE的源程序中已經為這些應用程序預留了接口,只要把通知瀏覽器已經加載了什么插件,瀏覽器就會調用預留的接口調用這些所謂的插件。

 

當然控件也是組件(構件)的一種,按照網上的說法,控件就是可視化的組件,我也同意這種說法,其實再從普通組件中分解出控件完全是沒有必要的,因為對于開發人員來講,可不可視對于非軟件人員來說可能很重要,但是對于軟件人員來說又有什么區別呢?

 

4.目前主流的四大瀏覽器內核有Trident、Gecko、WebKit和Presto。

  Trident/IE內核:Trident內核的常見瀏覽器有:IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0)、2345瀏覽器、騰訊TT、淘寶瀏覽器、阿云瀏覽器(早期版本)、瑞星安全瀏覽器、螞蟻瀏覽器、飛騰瀏覽器、速達瀏覽器、佐羅瀏覽器、海豚瀏覽器等等。

 Gecko/Firefox內核:火狐。

 WebKit內核:WebKit內核常見的瀏覽器:傲游瀏覽器3、[1] Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、Android 默認瀏覽器。

Presto內核:由于Presto是商業引擎,使用Presto的除開Opera以外,只剩下NDSBrowser、Wii Internet Channle、Nokia 770網絡瀏覽器等。

//-ms代表【ie】內核識別碼

//-moz代表火狐【firefox】內核識別碼

//-webkit代表谷歌【chrome】/蘋果【safari】內核識別碼

//-o代表歐朋【opera】內核識別碼

 

5.React Js的目的是為了使前端的V層更具組件化,能更好的復用,它能夠使用簡單的html標簽創建更多的自定義組件標簽,內部綁定事件,同時可以讓你從操作dom中解脫出來,只需要操作數據就會改變相應的dom。
React Native的目的是希望我們能夠使用前端的技術棧就可以創建出能夠在不同平臺運行的一個框架。可以創建出在移動端運行的app,但是性能可能比原聲app差一點。

 

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()