「正確答案」:
link 是 HTML 標簽,@import 是 css 提供的。
link 引入的樣式頁(yè)面加載時(shí)同時(shí)加載,@import引入的樣式需等頁(yè)面加載完成后再加載。
link 沒(méi)有兼容性問(wèn)題,@import 不兼容ie5以下。
link 可以通過(guò) js 操作 DOM 動(dòng)態(tài)引入樣式表改變樣式,而 @import 不可以。
「正確答案」:
“當元素設置浮動(dòng)后,會(huì )自動(dòng)脫離文檔流”。
父元素高度自適應,子元素浮動(dòng)之后,父元素沒(méi)有內容撐開(kāi)高度,因此就會(huì )導致父元素的高度為零,造成父元素的高度為零。(前提是未給父元素設置固定高度,如果父元素本身有固定高度,就不會(huì )出現這種情況)
「正確答案」:
rem 是相對于根元素,這樣就意味著(zhù),我們只需要在根元素確定一個(gè)px字號,則可以來(lái)算出元素的寬高。
① 我們可以通過(guò)使用 js 去控制根元素中 html 的 font-size 的大小,進(jìn)而改變按鈕的大小。
② 也可以使用自己的知識點(diǎn),使用 css 媒體查詢(xún)去設置頁(yè)面中根元素的 font-size 屬性。
「正確答案」:
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
}
復制代碼「正確答案」:
1.$(document).load 是當頁(yè)面所有資源全部加載完成后(包括DOM文檔樹(shù),css文件,js文件,圖片資源等),執行一個(gè)函數,load 方法就是 onload 事件。
2.$(document).ready() 在DOM結構繪制完成之后就繪執行。這樣能確保就算有大量的媒體文件沒(méi)加載出來(lái),JS代碼一樣可以執行。
「正確答案」:
① 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對象,其中保存了對錨、表單、鏈接以及其他可腳本元素的引用。
首先來(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)
復制代碼聯(lián)系客服