原创 three.js+vue小案例

首先要下載mtl-obj-loader,然後再下載一個three-controls即可 <template> <div class="hello" ref="box"> </div> </template> <script>

原创 webRTC學習筆記(2)

MediaRecorder構造函數會創建一個對指定的 MediaStream進行錄製的 MediaRecorder 對象, 接收兩個參數,一個是流,一個是可選對象,對象的mineType爲新構建的 MediaRecorder 指定錄製容器

原创 a===1&&a===2&&a===3什麼時候爲true

這裏使用Object.defineProperty可以做到,每次獲取值時加1 var val=1; Object.defineProperty(window,'a',{get(){ return val++ }})  

原创 git如何解決衝突

git上傳文件到遠程庫有時會發生衝突,解決方式是:先將本地修改的代碼緩存起來,git stash,然後是git pull,然後還原暫存的內容git stash pop,git status查看哪些文件衝突了,就vim打開衝突的文件,把文件

原创 一個tcp可以發送幾個http請求

http1.0默認只能發送一個http請求,每次請求完畢tcp會斷開,可以添加Connection:Keep-Alive字段保持持久化鏈接,但必須保證實體主體有正確的Content-Length,有多部件媒體類型,或者用分塊傳輸的方式進行

原创 graphql查詢

首先下載express,express-graphql和graphql var express = require('express'); var graphqlHTTP = require('express-graphql'); va

原创 哪些操作會引起內存泄露

1.setTimeout的第一個參數是字符串而不是函數,會引起內存泄露 2.閉包 3.控制檯日誌 4.循環引用

原创 IndexedDB的一些操作

indexedDB是一個事務型數據庫系統,同時也是基於javascript的面向對象的數據庫,它可以存儲大量結構化數據 首先是打開數據庫 var request=window.indexedDB.open(this.name) //打開

原创 ts中type和interface的區別

首先,interface只能表示function,object和class類型,type除了這些類型還可以表示其他類型,例如 interface A{name:string; add:()=>void; } in

原创 addEventListerer的第三個參數是什麼

第三個參數可以是布爾值,也可以是對象,默認是布爾值false,即事件冒泡,還可以是true,即事件捕獲,對象有三個屬性,一個是capture,是否使用事件冒泡,默認是false,once是是否只觸發一次,默認是false,passive是

原创 尋找無重複最長子串

給定一個字符串,請你找出其中不含有重複字符的 最長子串 的長度。 輸入: "abcabcbb" 輸出: 3 解釋: 因爲無重複字符的最長子串是 "abc",所以其長度爲 3。 首先遍歷這個字符串,將它插入到一個數組中,當遇到相同字符時

原创 tcp三握四揮

第一次握手:客戶端發送syn包給服務器,SYN=1,序列號seq=x,客戶端進入syn-sent狀態 第二次握手:服務器收到syn包以後返回報文,ack=x+1,ACK=1,SYN=1,同時生成序列號seq=y,進入syn-rcvd狀態

原创 vue性能優化(1)

1.<keep-alive></keep-alive>,接收include,exclude,max三個值,可以緩存組件狀態,避免組件的重新渲染,exclude的優先級大於include,max爲可緩存組件數目的最大值,超過會調用最近最少使

原创 cookie在不同端口號可以共享嗎

可以共享,根據同源策略cookie是區分端口的,但是對瀏覽器來說,cookie是區分域,不區分端口的,在一個ip地址下多個端口的cookie是共享的

原创 實現js小數相加

js小數直接相加會有精度丟失的問題,可以使用toFixed函數解決,它接收一個數字,默認是0,會將number四捨五入爲指定小數位數的數字 function sum(){ var s=0; for(var i=0;i<a