牛客網前端刷題手記(2)

  1. css佈局中的BFC:block formatting context,塊級格式化上下文,是指一個獨立的塊級渲染區域( formatting context擁有一套渲染規則,決定了子元素如何定位,以及與其他元素的相互關係和作用),就是頁面上的一個隔離的獨立容器,容器裏面的子元素是不會影響到外面的元素,規定了內部block-level box如何佈局。BFC的區域不會與float box疊加。在css2.1中滿足下列css聲明之一的元素便會生成BFC。(1)根元素;(2)float的值不爲none;(3)overflow的值不爲visible(overflow屬性指的是如果內容溢出一個元素框會發生什麼。詳情:overflow);(4)display的值爲inline-block、table-cell、table-caption;(5)position的值爲absolute或fixed。BFC的作用:防止margin重疊;解決浮動相關問題使得父元素包含子元素不產生高度塌陷(創建BFC子浮動元素也會參與其高度計算);多欄佈局的一種方式特點:左右兩欄寬度固定,中間欄可以根據瀏覽器寬度自適應。(參考文檔)。
  2. function關鍵字後跟一個*定義了一個生成器函數,它返回一個Generator對象。
  3. #是id,#content>.content id選擇器大於類,僞類和屬性選擇器。
  4. <a href=URL, target=_blank>....</a>瀏覽器總在一個新打開、未命名的窗口載入目標文檔;<a href=URL, target=_self>....</a>在當前窗口打開;<a href=URL, target=_parent>....</a>使得目標文檔載入父窗口;<a href=URL, target=_top>....</a>在整個窗口中打開被鏈接文檔。
  5. <ul><li>嵌套無序列表;<ol><li>嵌套有序列表;<dl>(定義描述列表)和<dt>(定義項目/名字)<dd>(描述每一個項目/名字)嵌套帶有項目和描述的描述列表;<a>不能嵌套。
  6. typeof有string ,number,object,undefined,boolean,function。
  7. 作用域(scope):通常指一段代碼中使用的函數和變量並不總是可用的,限定其可用性的範圍即作用域。提高程序的邏輯的局部性,增強程序可靠性,減少名字衝突
  8. 作用域鏈(scope chain):函數擁有可以通過代碼訪問的屬性和一系列僅供javascript引擎訪問的內部屬性,其中一個屬性就是[[scope]],該內部屬性包含了函數被創建的作用域中對象的集合,這個集合被稱爲函數的作用域鏈,它決定了那些數據能被函數訪問。當創建了一個函數後,它實際上保存了一個作用域鏈,並且作用域鏈會被創建此函數的作用域中可訪問的數據對象填充。當執行一個函數的時候會創建一個運行期上下文(execution context)【有人稱運行環境】,運行期上下文定義了函數執行的環境。每個運行期上下文都有自己的作用域鏈,用於標識符解析,當運行期上下文被創建時,而它的作用域鏈初始化爲當前運行函數的[[scope]]所包含的對象。這些值按照它們出現在函數中的順序被複制到運行期上下文的作用域鏈中,它們組成了一個新的對象叫“活動對象”,該對象包含了函數的所有局部變量、命名參數、參數集合以及this,然後推入作用域前端,當運行期上下文被銷燬,活動對象也隨之銷燬(參考文檔)。
  9. 改變作用域鏈的方式:with:將制定的對象添加到作用域鏈中;try catch語句:延長作用域鏈,在作用域鏈的前端臨時添加變量,該對象執行代碼後移除,catch塊會創建一個新的變量對象;eval:是把字符串轉化爲js代碼,可計算某個字符,並執行其中的javascript代碼,例如:document.write(eval(“2+2”)) 輸出:4 。
  10. css的三種定位機制:(1)文檔流:元素排版佈局過程中,元素自左向右,自上向下的流式排版。(2)浮動(float):屬性有none、left、right,只有橫向浮動,沒有縱向浮動;元素應用float屬性後,將會脫離普通流,其容器父元素得不到脫離普通流的子元素高度;會將元素的display屬性變爲block。(3)絕對定位:position:absolute 相對於已定位的最近的祖先元素,如果沒有已定位的最近祖父元素,那麼它的位置就相當於最初的包含塊(body)絕對定位的框可以從他的包含塊向上左下右移動,絕對定位的框脫離普通流,所以可以與其他元素重疊,通過Z-Iindex屬性來控制堆放次序。(:position其它屬性:static是position的默認值,元素按照正常的文檔流進行排列靜態元素不會受到top,bottom,left,right影響;fixed是生成絕對定位元素,產生的效果不隨着滾動條的移動而改變位置,相對於瀏覽器;relative是生成相對定位的元素是對於其正常位置定義的,沒有脫離文檔流。)
  11. 只能輸入零/非零開頭的數字的正則表達式:^(0|[1-9][0-9]*)$ ; ^代表以……開頭,$代表以……結尾 , * 代表任意多次,|是或,()是組,[]是集合。
  12. 主流瀏覽器內核私有屬性css前綴:(1)mozilla內核(firefox,flock等) -moz;(2)webkit 內核(safari,chrome等) -webkit; (3)opera內核(opera瀏覽器) -o; (4)trident內核(ie瀏覽器) -ms。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章