最近在考慮換個新的環境,所以先找了家公司面了下試試水,雖然不知道結果,但是把題目記錄下來當做一次學習經歷吧!
一、html語義化意義,作用,原因,理解:
1.使代碼結構更清晰,在沒有CSS的情況下也能呈現出代碼層次結構
2.方便其他設備解析(如屏幕閱讀器、盲人閱讀器、移動設備)以意義的方式來渲染網頁
3.提升搜索引擎優化(SEO)的效果
4.便於團隊開發和維護,語義化更具可讀性,代碼更好維護
參考https://blog.csdn.net/qq_34966814/article/details/82181007
二、html語義化標籤有哪些
<header>頭部區域,<nav>導航,<main>主要內容,<article>文章,<section>章節區域,<aside>與頁面內容無多大聯繫的部分,如側邊欄,友情鏈接,廣告等,<footer>頁腳部分,如附錄、索引、版權頁、許可協議等,<title>頁面主要內容,<progress>進度。
<canvas>,<video>,<audio>
參考https://www.cnblogs.com/it-Ren/p/10555177.html
https://www.runoob.com/html/html5-intro.html
三、input type類型
text,password,color,time,date,email,number,submit,reset,radio,checkbox,image,file,hidden,range,week,month
https://www.w3school.com.cn/tags/tag_input.asp
四、css佈局模式
table佈局,float佈局,position佈局,flex佈局,css3多列布局
https://blog.csdn.net/zhang6223284/article/details/81909600
五、文本溢出
單行:
text-overflow: ellipsis; // 文本超出顯示省略號
white-space: nowrap; // 不換行
overflow: hidden; //超出隱藏
多行:
display: -webkit-box; /*將對象轉爲彈性盒模型展示*/
-webkit-box-orient: vertical; /*設置彈性盒模型子元素的排列方式*/
-webkit-line-clamp: 2; /*限制文本行數*/
overflow: hidden; /*超出隱藏*/
https://segmentfault.com/a/1190000013916143
六、transition 和animation
transition 只執行一次,當參數改變時觸發
animation重複執行,直接執行
http://www.fly63.com/article/detial/3245
七、僞類和僞元素的區別
僞元素主要是用來創建一些不存在原有dom結構樹種的元素,
僞類表示已存在的某個元素處於某種狀態,但是通過dom樹又無法表示這種狀態,就可以通過僞類來爲其添加樣式。
僞元素與僞類的根本區別在於:操作的對象元素是否存在於原來的dom結構裏。
https://www.cnblogs.com/xmbg/p/11608268.html
八、js數據類型
string,number,boolean,object,undefined,null,promise
判斷類型typeof
https://www.w3school.com.cn/js/js_datatypes.asp
https://blog.csdn.net/lareinalove/article/details/79895760
九、js數組和字符串相互轉換
數組轉字符串: join()
字符串轉數組: split()
https://www.cnblogs.com/zhengyiqun1992/p/10683760.html
十、判斷字符串,數組中是否包含某元素
數組: indexOf/lastIndexOf arr.indexOf()返回某個指定的字符串值在字符串中首次出現的位置,下標或-1。
find() /findIndex(), find返回值或undefined,findIndex返回下標或-1
https://www.cnblogs.com/yunshangwuyou/p/9032560.html
字符串: indexOf();search();match()
https://www.cnblogs.com/ooo0/p/7741651.html
十一、for in, for of
for in得到對對象的key或數組,字符串的下標
for of和forEach一樣,是直接得到值,不支持對象
https://www.cnblogs.com/zjx304/p/10687017.html
十二、異步,同步,異步實現
JavaScript是一門單線程的語言,同個時間有多個任務的話,這些任務就需要進行排隊,前一個任務執行完,纔會執行下一個任務。 同步任務是指在主線程上排隊執行的任務,只有前一個任務執行完畢,才能繼續執行下一個任務。異步任務是指不進入主線程,而進入任務隊列的任務,只有任務隊列通知主線程,某個異步任務可以執行了,該任務纔會進入主線程,意思當我們打開網站時,像圖片的加載,音樂的加載,其實就是一個異步任務。
異步實現:回調函數callback,只有拿到明確回調再執行,
promise(.then),
setTimeout();
https://segmentfault.com/a/1190000017996968
https://www.cnblogs.com/Yellow-ice/p/10433423.html
十三、定時器
setTimeout,setInterval
- setInterval() :按照指定的週期(以毫秒計)來調用函數或計算表達式。方法會不停地調用函數,直到 clearInterval() 被調用或窗口被關閉。
- setTimeout() :在指定的毫秒數後調用函數或計算表達式,只執行一次,使用clearTimeout暫停。
十四、ts,js 區別
ts是js的超集;
ts增加了靜態類型、類、模塊、接口和類型註解方面的功能
ts需要靜態編譯,它提供了強類型與更多面向對象的內容易於大項目的開發
https://blog.csdn.net/qq_42451979/article/details/89642575
https://blog.csdn.net/qq_36145914/article/details/88993222
十五、var let const區別
1.var定義變量,沒有塊的概念,可以跨塊訪問,不能跨函數訪問,不初始化出現undefined,不會報錯,可以變量提升。
2.let定義變量,只能在塊作用域裏訪問,也不能跨函數訪問,對函數外部無影響,可以變量提升。
3.const定義常量,只能在塊作用域裏訪問,也不能跨函數訪問,使用時必須初始化(即必須賦值),而且不能修改,可以變量提升。