原创 ES 之 babel

//初始化 npm init -y npm install --save-dev @babel/core @babel/cli @babel/preset-env 安裝轉換插件 npm install --save-dev @babe

原创 ES之類和繼承

原型繼承 function User(name,age) { this.name=name this.age=age } User.prototype.info=function(){ console.log(`m

原创 ES 之 09.擴展參數和擴展運算及對象字面量擴展

const alpha=["A","BB",'c']; const lan=['php','go','js']; //中間插入java let members=[]; members=members.

原创 ES 之 Symbol

生成唯一標識 Symbol類型的key是不能通過Object.keys()或者for...in來枚舉的,它未被包含在對象自身的屬性名集合(property names)之中。 所以,利用該特性,我們可以把一些不需要對外操作和訪問的屬性使用

原创 ES 之 模塊

查看webpack 版本 1.npm info webpack 2.webpack -v 如果沒有出現,npm install --global webpack-cli,因爲 注意:webpack 4x以上,webpack將命令相關的內

原创 ES 之07.數組結構

索引 數組元素值獲取 數組擴展方法 Array.from() Array.of() find-findIndex-some-every 數組元素的值獲取 const numbers=["one",'two','three','fo

原创 ES6 之 05. Es6新增字符串函數

.startWith() .endWith() .includes() .repeat() string.startsWith(searchvalue, start) let str='abcdefgh' str.startsWith

原创 ES6 之01. let const

ES6裏變量規範 默認const 需要重新賦值時用let 儘量避免var let 局部變量 可重新賦值 var name='let' //window.name的值會改變 //---------------------------

原创 ES6 之 04.模板(標籤)字符串

索引 模板字符串 模板標籤字符串 模板字符串 const person='Jelly'; const age=20; const intro=`${person} is ${age} years old`; const html=

原创 ES6 之 03.參數

索引 參數默認值 可變參數 剩餘參數 參數默認值 function multiply(a,b) { a=a||5; b=b||3 return a*b; } //ES6 function multiply1(a=

原创 ES6之 02.箭頭函數

索引 基本規則 匿名函數 箭頭函數的this指向 不宜使用的場景 基本規則 刪掉一個function關鍵字 多個參數,分隔 沒有參數加括號 1個參數可選擇(括號的有無) const numbers=[5,6,13,0,1,2] co

原创 快排的2種分區圖解

主要是找分區點後把小於分區點值的放在左邊,大於分區點的放在右邊 關鍵點是如何找到這個分區點應該放的位置 分區方式1 選取最右邊的3做分區點 privot 把小於privot的放在左邊 按照同樣的邏輯處理左邊區間的數

原创 密鑰交換之DH算法

密鑰交換/協商機制的幾種類型 依靠非對稱加密算法 原理:拿到公鑰的一方先生成隨機的會話密鑰,然後利用公鑰加密它;再把加密結果發給對方,對方用私鑰解密;於是雙方都得到了會話密鑰。 舉例:RSA 依靠專門的密鑰交換算法 原理:這個原理比較複雜,

原创 go mod使用

GO111MODULE 有三個值:off, on和auto(默認值) GO111MODULE=off,go命令行將不會支持module功能,尋找依賴包的方式將會沿用舊版本那種通過vendor目錄或者GOPATH模式來查找。 GO111MO

原创 socket常見選項之SO_REUSEADDR,SO_REUSEPORT

目錄 SO_REUSEADDR time-wait SO_REUSEPORT SO_REUSEADDR 一般來說,一個端口釋放後會等待兩分鐘之後才能再被使用,SO_REUSEADDR是讓端口釋放後立即就可以被再次使用 SO_REUS