主頁 > 企業開發 > 【我的面試-某家上市公司】一次Web前端開發面試的回憶錄

【我的面試-某家上市公司】一次Web前端開發面試的回憶錄

2022-04-14 10:10:52 企業開發

簡單開頭

首先技術面試官會根據簡歷里所寫的專案和個人掌握技術堆疊提問(我不知道已經改過多少次簡歷了,因為前期投簡歷是真的是沉在茫茫大海,撈漂流瓶都撈不到的那種)

我的技術堆疊:(Vue還在苦苦的自學當中,隨便推薦一下coderwhy老師B站的教學視頻,真的不錯,講得深入淺出,越聽越想聽)地址:https://www.bilibili.com/video/BV15741177Eh

熟悉HTML5、CSS3、JavaScript、AJAX

了解Vue、ES6語法、jQuery、Bootstrap

 

一、CSS


1、怎樣實作垂直水平居中? ?

方法1:flex彈性布局(這個布局我最近的畢設登錄頁面有用到,最近才復習的)

<style>
  /*父級盒子*/
  .demo{
    display: flex; /*給父級盒子設定彈性布局*/
    align-items: center; /*彈性盒子元素在交叉軸(相對于直角坐標系y軸)方向上的對齊方式,垂直居中*/
    justify-content: center; /*彈性盒子元素在主軸(相對于直角坐標系x軸)方向上的對齊方式,水平居中*/
    height: 100px;  /*給定父元素高度*/
    background-color: wheat;  /*父級盒子背景色*/
  }
  /*子元素*/
  span{
    border: 2px dashed brown; /*外邊框樣式*/
  }
</style>
<div class="demo"> <!-- 父級盒子 -->
  <span>DEMO</span> <!-- 子元素 -->
</div>

 

 方法2:grid網格布局

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<style>
  /*父級盒子*/
  .demo{
    display: grid; /*網格布局*/
    height: 100px; /*給定高度*/
    background-color: wheat;  /*父級盒子背景色*/
  }
  /*子元素*/
  span{
    /*margin: A;      A上下左右*/
    /*margin: A B;    A上下-B左右*/
    /*margin: A B C;  A上-B左右-C下*/
    /*margin: A B C D; A上-B右-C下-D左*/
    /*padding、border同理*/
    margin: auto; /*上下居中,左右居中*/
    border: 2px dashed brown; /*邊框樣式*/
  }
</style>
<div class="demo">
  <span>DEMO</span>
</div>
</body>
</html>

 

 

 

方法3:(已知寬高)給父級盒子設定相對定位,給子元素設定絕對定位 top:50% left:50%

方法4:(未知寬高)給父級盒子設定相對定位,給子元素設定絕對定位 top:50% left:50% transform(-50%,-50%) //2D轉換,X軸,Y軸移動,這個基本不會用到

我還補充了使用line-height實作文本垂直居中的方法,也就是父級盒子給定高度,文本元素line-height和父級高度設定一樣就可,還有水平居中,margin: 0 auto這樣的,畢竟以前入門前端的時候最愛這樣寫,

二、HTML

1、說幾個塊級元素標簽 ?
p、div、ul、ol、li、dl、dt、dd、h1-h6、form、table、H5新增header、section、aside、footer...

2、說幾個行內塊級元素標簽 ?(這里我差點把h1-h6標簽和p標簽說成行內塊級元素了,,,,被面試官反復質問)
a、span、em、strong、b、i、u、label、br、img、big、small、sub、sup、button

 

三、HTML5

1、相比舊版本,新增了哪些標簽??×(我就說了些input擴展和多媒體標簽)
語意化標簽:

<nav>       導航標簽   </nav>
<aside>     側邊欄標簽 </aside>
<header>    頭部標簽   </header>
<footer>    尾部標簽   </footer>
<article>   內容標簽   </article>
<section>   定義檔案某個區域   </section>

多媒體標簽:

<audio src="">  音頻</audio>
<video controls>視頻
<source src="xxx.mp4"> 將不同的視頻格式存放在source元素中,解決兼容性問題
<source src="xxx.avi">
</video>

表單擴展:

required:    內容不能為空        <input type="text" required>
autofocus:   自動聚焦            <input type="submit" autofocus>
multiple:    上傳提交多個檔案    <input type="file" multiple>
placeholder: 輸入框的占位文字    <input type="text" placeholder="請輸入內容">

input輸入框type擴展

url:     URL型別       <input type="url">
 
date:    日期型別      <input type="date">
 
time:    時間型別      <input type="time">
 
number:  數字型別      <input type="number">
 
tel:     手機號碼型別  <input type="tel">
 
search:  搜索框型別    <input type="search">
 
color:   取色板型別    <input type="color">
 
email:   郵件型別      <input type="email">

 

2、H5中的web storage的兩種存盤方式是哪兩種?它們的區別在哪??
sessionStorage和localStorage,其中sessionStroage不是持久化的,只有在同一個會話當中的頁面才能訪問,而且關倍訓后就會消失,而localStorage是持久化的,保存在本地,只有手動洗掉才會消失,

 

3、看到你的專案中用到了cookie,說說cookie和web storage的區別,?
首先cookie需要手動去寫set、get、remove方法,而web storage有自帶的呼叫方法,其次cookie的存盤容量相對于web storage要小一些,還有就是cookie需要設定時間,瀏覽器會定期檢查清理過期的cookie,

 

4、那sessionStorage的清除方法是哪個??
clear

 

四、JavaScript
1、什么是閉包?為什么要使用閉包??×(我剛開始看閉包的時候,我覺得我已經自閉了)

閉包:閉包就是能夠讀取其他函式內部變數的函式(函式嵌套),

為什么要使用?

讀取函式內部變數,讓這些變數一直待在在記憶體當中,不會被垃圾回收;

防止變數污染全域;

提高函式中變數的復用性,


2、什么是原型??×(這個我就說了一點prototype和_proto_,結果面試官直接開始深挖,我表示被問僵了)
https://www.jianshu.com/p/72156bc03ac1

 

3、獲取DOM元素的方法??(當時我腦子里只浮現了querySelector,都快忘了最簡單的id選擇)

  //常用
  document.getElementById(); //ID選擇器
  document.querySelector(); //回傳匹配指定 CSS 選擇器元素的第一個子元素 ,
  document.getElementsByClassName(); //類選擇器
  document.getElementsByTagName(); //標簽選擇器

 

4、基本資料型別??(我以為他要問null和undefined的區別,預判失敗,,,)

null空(注意:typeof null 等于Object)

undefined未定義(和undefined和null的區別經常考)

string字符型別

symbol(資料型別,唯一)

ES10新增bigInt

Number數字型別

boolean布爾型別 (差點說漏掉了)

補充參考資料型別:Object物件、Array陣列、 function函式、Date日期、RegExp( Regular expression正則運算式)

5、什么是深拷貝、淺拷貝?怎樣實作深拷貝? ?(這個我還好自己手動敲過幾遍代碼,還是記得一些基礎的方法)

淺拷貝也就是參考資料型別,例如Object物件,賦值物件會隨著原物件的改變而改變,因為是兩者同時通過一個地址參考同一個存放在堆里的資料,

深拷貝也就是賦值物件不會隨著原物件的改變而改變,而是把原物件存在于堆中的參考資料完全復制拷貝一份,并且開辟一個新的空間存放,(怎么突然聯想到游戲王貝卡斯的拷貝貓和十代的新空間加班,,,可能是前段時間玩得比較多)

深拷貝的實作方法很多,最簡單的就是用JSON.stringfy()和JSON.parse()轉換(除開乞丐法還有其他的方法,之后去練習練習)

陣列深拷貝的實作方法:注意,一旦陣列中存在嵌套,例如陣列嵌套陣列,陣列嵌套物件,這些方法都沒用,因為出現了參考資料型別,

//3-1、slice方法-不是真正意義上的深拷貝,因為如果含有二級屬性,也就是陣列套陣列,二級屬性的參考還是不會改變
  function test1(){
    let num1 = [1,2,3,4];
    console.log(num1) //列印原陣列值
    let num2 = num1.slice();
    num1.push(11);
    console.log(num1); //列印結果
    console.log(num2);
  }
  //3-2、concat方法-因為如果含有二級屬性,也就是陣列套陣列,二級屬性的參考還是不會改變
  function test2(){
    let num1 = [1,2,3];
    console.log(num1);
    let num2 = [].concat(num1); //利用空陣列連接num1陣列
    num1.push(11);
    console.log(num1); //列印結果
    console.log(num2);
  }
  //3-3、ES6中的 ...
  function test3(){
    let arr1 = [1,2,3,4];
    console.log(arr1);
    let arr2 = [...arr1];
    arr1.push(5)
    console.log(arr1);
    console.log(arr2);
  }
  test4();
  //3-4、Array.from方法
  function test4(){
    let arr1 = [1,2,3,4];
    console.log(arr1);
    let arr2 = Array.from(arr1);
    arr1.push(5)
    console.log(arr1);
    console.log(arr2);
  }

 

五、ES6

1、你在做專案的程序中有用到ES6的哪些新增特性??×

箭頭函式、let、const,for-in(鍵)、for-of(值)、物件增強寫法等等,

(我的專案其時都太基礎了,實在用不了什么復雜一點的技術,還記得第一次面試時,那個技術面小姐姐問我怎么修改箭頭函式的this指向,我回答說bind、apply、call都不行,我也不知道,,,其實修改一下父級背景關系的指向就可,她還問箭頭函式和普通函式的區別有哪些,我慌亂中回答箭頭函式不含建構式,,,應該是不可以作為建構式使用,為什么不能是“因為標準規范定義了生成器必須是function*,而箭頭函式就無法匹配這個token”抄的大佬的解答)

2、談談var、const、let三者之間的區別 ?(ES6面試老熟人了)

var存在變數提升,let、const不存在;

var可重復宣告變數,let、const不能;

let、const存在暫時性死區即塊級作用域,var不存在,(經典就是定時器使用var,列印幾個一樣的數字,,,)

let定義變數,const定義常量不能被修改,但是const定義的物件中的屬性可以被修改,因為物件是參考資料型別,存放在堆記憶體當中,堆疊記憶體中只是存放著該資料的參考地址,


3、談談promise (我回答promise相當于保持狀態的回呼函式,其他沒記起來-_-,這塊了解得比較模糊需要惡補)×
https://blog.csdn.net/qq_42492055/article/details/80841331

 

六、Vue

1、根據標簽class屬性動態修改樣式怎么實作?× (這個被我答錯了,但面試官給我指出來,而且詳細說明了一下實作方法,面試官人挺好的)
主要是v-bind的結合class屬性,可以寫成v-bind:,或者:,其中active就是class屬性,通過isActive布爾變數來控制active,在CSS中使用類選擇器 .active 設定動態樣式,

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    button{
      background: black;
      color: white;
      font-weight: bold;
    }
    .active{
      background: red;
      color: white;
      font-weight: bold;
    }
  </style>
</head>
<body>
<div id="app">
  <button @click="isClick()" :class="getClasses()">按鈕</button>
  <h2 class="title" :class="{active:isActive}">233</h2>
</div>
<script src="../js/vue.js"></script>
<script>
  const app = new Vue({
    el: "#app",
    data: {
      message: '您好!',
      status: 'active',
      isActive: false,
    },
    methods: {
      isClick: function (){
        this.isActive=!this.isActive
      },
      getClasses:function (){
        return {active:this.isActive} //回傳物件屬性
      }
    }
  })
</script>
</body>
</html>

 

2、Vue的生命周期??(我一開始有背過這張圖,其實也沒用,理解才是真理)

創建-掛載-更新-銷毀

 

 

3、如果操作DOM元素,是在create(創建)階段還是mount(掛載)階段??

掛載階段

 

4、父子組件的通信是通過什么傳遞的??
父傳子:自定義屬性props

子傳父:自定義事件$emit()

 

5、Vue中是怎樣阻止事件冒泡的?為什么會產生事件冒泡??×
vue中阻止點擊事件冒泡,在需要阻止的標簽中設定屬性 @click.stop,

因為DOM結構中,父元素和子元素之間存在著層次關系,當底層事件被觸發,就會向上冒泡,直到最上層,這幾層的元素都會被觸發,但實際開發當中,并不希望出現這種情況,就好比一個div盒子里面放了一個button按鈕,一旦button被點擊,button和div都會觸發點擊監聽事件,


6、watch、computed函式有了解嗎?具體怎么使用?×
watch監聽函式:監聽單個函式,或者單個物件的資料變化(這個當時我在刷vue的教學視頻的時候只練了一次,印象很淺,)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<div id="app">
  <input type="text" v-model="temp">
</div>
<script src="./js/vue.js"></script>
<script>
  new Vue({
    el: '#app',
    data: {
      temp: ''
    },
    watch: {
      // temp值發生變化,呼叫該方法
      temp(newValue, oldValue) {
        // newValue: 新值
        // oldValue: 舊值
        console.log('oldValue:',oldValue)
        console.log('newValue:',newValue)
      }
    }
  })
</script>
</body>
</html>

computed計算屬性:計算屬性會采用快取機制,在多個重復呼叫的程序中,減小資源占用,

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<div id="app">
  <h2>{{firstName}} {{lastName}}</h2> <!--html中不要采用邏輯過于復雜的語法-->
  <h2>{{getFullName()}}</h2>
  <h2>{{fullName}}</h2>
  <h2>{{getFullName()}}</h2>
  <h2>{{fullName}}</h2>
  <h2>{{getFullName()}}</h2>
  <h2>{{fullName}}</h2>
</div>
<script src="../js/vue.js"></script>
<script>
  const app = new Vue({
    el: "#app",
    data: {
      message: '您好!',
      firstName: 'kobe',
      lastName: 'bryant'
    },
    methods: {
      getFullName: function (){
        console.log("---getFUllName---")
        return this.firstName + ' ' + this.lastName
      }
    },
    computed: { //計算屬性會采用快取機制,在多個重復呼叫的程序中,減小資源占用
      fullName(){
        console.log("---fullName---")
        return this.firstName + ' ' + this.lastName
      }
    }
  })
</script>
</body>
</html>

 

 

七、Android(能問到Android就離譜,誰讓我有提到大學專業課有這門課,,)

1、Android的螢屏適配有哪些方法?(蚌埠住了,雖然我參加外包比賽時搞過Android的UI設計圖,這個平時課程中是真沒去碰過,孤陋寡聞了)×

https://www.jianshu.com/p/746fa1ba313c

 

八、小結
其中?就是答得很順暢但不知道對錯,?×就是回答扭扭捏捏大概率是錯的,×基本上是完全沒想起來或者不知道,整個面試程序,兩個技術面+一個人事,一對三,剛開始有點緊張,進去的時候看見公司的裝修環境不錯很整潔大方,不但沒有緩解緊張反而倒是增加了我的緊張程度,然后在一間小房間里坐著面對面提問這樣,不過后來一直回答一直回答就放松了許多,然后面完人事姐姐說兩三天會通知結果,個人感覺整個面試程序回答得還是不是很好,有點磕磕巴巴的,某一個知識點面試官一旦深入我就招架不住了,在走回地鐵站的路上心想基本無望了,金三銀四,我這都快四月中旬了,還沒找到實習作業,實在面不過開發崗,我都準備去面測驗崗了,很怕找不到實習作業,身邊很多同學都開始實習一個月了,很慌,加上論文畢設還在做,,,

在面試完的第二天下午,我當時還在校門口考核站崗,站崗期間我一直在想軟體測驗的知識和那幾個基礎演算法題,因為感覺昨天面試沒什么戲,準備打算去面后端或者測驗崗了,站崗程序中,有人打了兩個電話,我都沒接到,因為站崗不讓碰手機,我看到未接的電話記錄,這不是我面試的那家公司嗎?!然后以期待和忐忑的狀態回撥了過去,你好,請問打電話有什么事嗎?“您好,請問是XXX嗎,通過昨天線下的面試了解到您的基礎還是比較扎實什么什么還是比較優秀的”,然后說是要給我發offer,我頓了一會兒才反應過來,著實有點淚流滿面了,想想這一個月拿著簡歷大熱天到處跑,熬夜準備面試題,可以說是在徘徊中焦慮在焦慮中恐慌,不過這一切都是值得的,自己要學的東西還有很多很多,

搜索

復制

4、父子組件的通信是通過什么傳遞的??
父傳子:自定義屬性props

子傳父:自定義事件$emit()

5、Vue中是怎樣阻止事件冒泡的?為什么會產生事件冒泡??×
vue中阻止點擊事件冒泡,在需要阻止的標簽中設定屬性 @click.stop,

因為DOM結構中,父元素和子元素之間存在著層次關系,當底層事件被觸發,就會向上冒泡,直到最上層,這幾層的元素都會被觸發,但實際開發當中,并不希望出現這種情況,就好比一個div盒子里面放了一個button按鈕,一旦button被點擊,button和div都會觸發點擊監聽事件,


6、watch、computed函式有了解嗎?具體怎么使用?×
watch監聽函式:監聽單個函式,或者單個物件的資料變化(這個當時我在刷vue的教學視頻的時候只練了一次,印象很淺,)
————————————————
著作權宣告:本文為CSDN博主「RootkitaI」的原創文章,遵循CC 4.0 BY-SA著作權協議,轉載請附上原文出處鏈接及本宣告,
原文鏈接:https://blog.csdn.net/weixin_43906233/article/details/124105240

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/458136.html

標籤:JavaScript

上一篇:Node.js基礎入門第八天

下一篇:websocket前后端資料實時更新(前端+后端)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more