2021寒假——前端刷題筆記
BY2017
Level 0
嘗試定義一個複製函式,接受上圖所示的類似結構(只有一個根節點),返回一個全新的結構相同的物件
考點:資料結構
這題應該是定義一個可以複製二叉樹的函式,不過資料結構目前還沒學到這…
Level 1
請使用盡可能多的CSS選擇器及偽類選中如下的"I love bingyan",並將其變為紅色(規則主體可只寫一次)
考點:CSS選擇器
上方的程式碼由自己補全:
<html>
<head>
<style>
/* 元素選擇器 span{} √
* id選擇器 #{} √
* 類選擇器 .{] √
* 通配選擇器 *{} ×
* 交/並集選擇器,子元素,後代,兄弟 此處不考慮
* 重點練習偽類選擇器:(child和type的區別見下方)
*/
span:first-child{
color:red;
}
span:first-of-type{
color:red;
}
span:nth-child(1){
color: red;
}
span:nth-of-type(1){
color: red;
}
</ style>
</head>
<!--------------------------------------------------------------------------------------------------------------------->
<body>
<div class="hello" id="world" data-love="yes">
<p>
DO NOT SELECT ME.
</p>
< span>
I love bingyan.
</span>
</div>
</body>
</html>
css選擇器中:first-child與:first-of-type的區別:總的來說,child系匹配結構上的第n個子元素,type系匹配的是某父元素下相同型別子元素中的第一個。
請用圖形方式展現如下CSS程式碼產生的盒模型及尺寸
考點:CSS盒子模型,border-box
<style>
div{
margin: 10px 20px 30px;
padding-top: 20px;
padding-left: 10px;
padding-right: 10px;
width: 100px;
height: 100px;
box-sizing: border-box;
}
</style>
三個方向的margin,分別代表:上、左右、下
之前關於border-box的理解不夠深刻:經過測試,對content-box修改padding值會影響盒子的大小,但對於border-box,只要padding不超過width或height,對盒子的大小沒有影響
(擅自加了背景顏色和邊框,右側為content-box對比版)
使用HTML和CSS實現一個雙欄等寬佈局
首先來了解一下什麼是“雙欄佈局”,這個佈局方式見過,但這個名詞我還沒聽說過:kokodayo
(這一題明天補上叭)
列出在JavaScript中可以選中HTML元素的方法,他們的返回值分別是什麼型別
列出你所知道的JavaScript基本型別
請思考如何在網頁中顯示一個三角形,列出儘可能多的方法(請放飛自我)
Level 2
列出儘可能多的專用於建立一個表單的HTML元素(如table,tr)
如何讓一個元素相對其父元素垂直居中
行內元素和塊級元素有什麼區別
列出在JavaScript中建立一個物件並給其增加一個可讀取的屬性的方法
JavaScript的Array和Object之間有什麼關係