欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
前端知識點(diǎn)總結 (一)


1 頁(yè)面導入樣式時(shí),使用link和@import有什么區別?

「正確答案」:

  1. link 是 HTML 標簽,@import 是 css 提供的。

  2. link 引入的樣式頁(yè)面加載時(shí)同時(shí)加載,@import引入的樣式需等頁(yè)面加載完成后再加載。

  3. link 沒(méi)有兼容性問(wèn)題,@import 不兼容ie5以下。

  4. link 可以通過(guò) js 操作 DOM 動(dòng)態(tài)引入樣式表改變樣式,而 @import 不可以。

2 為什么float會(huì )導致父元素塌陷?

「正確答案」:

“當元素設置浮動(dòng)后,會(huì )自動(dòng)脫離文檔流”。

父元素高度自適應,子元素浮動(dòng)之后,父元素沒(méi)有內容撐開(kāi)高度,因此就會(huì )導致父元素的高度為零,造成父元素的高度為零。(前提是未給父元素設置固定高度,如果父元素本身有固定高度,就不會(huì )出現這種情況)

3 rem是如何實(shí)現自適應布局的?

「正確答案」:

rem 是相對于根元素,這樣就意味著(zhù),我們只需要在根元素確定一個(gè)px字號,則可以來(lái)算出元素的寬高。

① 我們可以通過(guò)使用 js 去控制根元素中 html 的 font-size 的大小,進(jìn)而改變按鈕的大小。

② 也可以使用自己的知識點(diǎn),使用 css 媒體查詢(xún)去設置頁(yè)面中根元素的 font-size 屬性。

4 寫(xiě)一個(gè)方法把多維數組降維

「正確答案」:

1.用 arr.flat(depth) ,該方法會(huì )按照一個(gè)可指定的深度遞歸遍歷數組,并將所有元素與遍歷到的子數組中的元素合并為一個(gè)新數組返回。

let arr = [1, 2, [3, 4, [5, 6, 7]]]
arr.flat(Infinity)
// [1, 2, 3, 4, 5, 6, 7]
復制代碼

參數:depth

可選指定要提取嵌套數組的結構深度,默認值為 1。

返回值:

一個(gè)包含將數組與子數組中所有元素的新數組。

2.利用 reduce ,MDN定義:reduce() 方法對數組中的每個(gè)元素執行一個(gè)由您提供的reducer函數(升序執行),將其結果匯總為單個(gè)返回值。

function flattenDeep(arr) {
   return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
}
復制代碼

3.使用遞歸

let arr = [1, 2, [3, 4, [5, 6, 7]]]
//遞歸
function flat (arr) {
  let ret = []
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] instanceof (Array)) {
      ret = ret.concat(flat(arr[i]))
    }
    else {
      ret.push(arr[i])
    }
  }
  return ret
}
復制代碼

5 document load 和document ready 有什么區別?

「正確答案」:

1.$(document).load 是當頁(yè)面所有資源全部加載完成后(包括DOM文檔樹(shù),css文件,js文件,圖片資源等),執行一個(gè)函數,load 方法就是 onload 事件。

2.$(document).ready() 在DOM結構繪制完成之后就繪執行。這樣能確保就算有大量的媒體文件沒(méi)加載出來(lái),JS代碼一樣可以執行。

6 window對象和document對象有什么區別?

「正確答案」:

window對象:

代表瀏覽器中的一個(gè)打開(kāi)的窗口或者框架,window對象會(huì )在或者每次出現時(shí)被自動(dòng)創(chuàng )建,在客戶(hù)端 JavaScript 中,Window對象是全局對象global,所有的表達式都在當前的環(huán)境中計算,要引用當前的窗口不需要特殊的語(yǔ)法,可以把那個(gè)窗口屬性作為全局變量使用,例如:可以只寫(xiě)document,而不必寫(xiě) window.document 。同樣可以把窗口的對象方法當做函數來(lái)使用,如:只寫(xiě)alert(),而不必寫(xiě)window.alert。window 對象實(shí)現了核心JavaScript所定義的全局屬性和方法。

document對象:

代表整個(gè)HTML文檔,可以用來(lái)訪(fǎng)問(wèn)頁(yè)面中的所有元素 。每一個(gè)載入瀏覽器的HTML文檔都會(huì )成為document對象。document對象使我們可以使用腳本(js)中對HTML頁(yè)面中的所有元素進(jìn)行訪(fǎng)問(wèn)。document對象是window對象的一部分可以通過(guò) window.document 屬性對其進(jìn)行訪(fǎng)問(wèn)HTMLDocument接口進(jìn)行了擴展,定義HTML專(zhuān)用的屬性和方法,很多屬性和方法都是HTMLCollection對象,其中保存了對錨、表單、鏈接以及其他可腳本元素的引用。

7 js 如何將偽數組轉成真數組

首先來(lái)介紹一下什么是偽數組。

偽數組就是像數組的對象也叫類(lèi)數組,且含有 length 屬性。

典型的是函數的 argument參數 ,還有像調用 getElementsByTagName, document.childNodes之類(lèi)的,它們都返回 NodeList對象都屬于偽數組。

它沒(méi)有數組的 splice,concat,pop等方法。

接下來(lái)進(jìn)入正題,如何將偽數組轉成真數組?

假如有如下數組

let obj = {
    '0''小藍',
    '1''女',
    '2': 18,
    length: 3
}
復制代碼

1.[].slice.call(obj) 這個(gè)等于 Array.prototype.slice.call(obj),該方法不會(huì )修改原數組,只是返回一個(gè)新的子數組.call會(huì )把this的指向改為傳進(jìn)去的obj。

var newArr = [].slice.call(obj)
復制代碼

2.Array.form(obj), ES6的新語(yǔ)法。Array.from() 方法從一個(gè)類(lèi)似數組或可迭代對象創(chuàng )建一個(gè)新的,淺拷貝的數組實(shí)例。

var newArr = Array.from(obj)
復制代碼



本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
收集Web前端 面試題 Javascript部分
js 中for in的使用
統計網(wǎng)頁(yè)標簽元素,使用次數,排序,遞歸騷操作——進(jìn)階高級前端工程師
jquery的對象數組的添加元素,刪除元素
JS一維數組、多維數組和對象的混合使用
JavaScript|數組對象
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久