1. 程式人生 > 其它 >2021寒假——前端刷題筆記

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之間有什麼關係