原创 yield in js
// yield IE瀏覽器不兼容哦 但是IE edge兼容 // 碰到yield就停止,生成yield對象,對象的value屬性是yield後面的值 function* yieldTest () { let array = [5,
原创 數組去重算法總結
const testArray = [ { label: 'Banana', color: 'yellow', taste: 'sweet', price: 4.38, hometown: 'Tailand', i
原创 js promise object
use strict' // 異步計算,隊列化,類比callback // 都不是單純的普通方法,都是promise對象才生效,對象可以保存狀態,函數只有通過閉包才能保存狀態 // 異步操作的常見方法:回調和事件監聽 // 異步回調容易層
原创 Symbol in js
// 對象的屬性鍵只能是string類型和symbol類型 // “Symbol”值代表用給定名稱作爲唯一標識 // 存在系統級symbol // 用於區別對待對內操作和對外選擇性輸出 // let id = Symbol('id') /
原创 try catch error in js
// try裏面拋出異常,會在catch中捕獲,刨,走catch,finally,不拋,走try和finally // Error異常對象 // throw new Error('創造一個新的錯誤類型的錯誤信息', '文件名', '行號'
原创 true or false in js
// or 或運算,返回第一個真值,如果所有值都是假值,返回最後一個值 // let orTest = 12 || false // console.log(orTest) // 12 // let orTest1 = false ||
原创 Promise 簡潔應用模板
function pTest () { let pro = new Promise((resolve, reject) => { setTimeout(() => { resolve('誰知道是個什麼玩意呢')
原创 node.js 中的壓縮與解壓縮
const fs = require('fs') const zip = require('zlib') const gzip = zip.createGzip() const inFile = fs.createReadStream('
原创 備份一些indexedDB的寫法
mounted() { let request = window.indexedDB.open('tengxiTest', 1) let that = this
原创 Array Flatten By Javascript
Note: doing test in vue cli 3.x enviroment Method One: Recursion flatFunc (arr) { arr.forEach((item, index) => {
原创 node 錯誤信息寫入log
// 打開指定文件並寫入錯誤信息 let writeLog = function (string) { fs.open(logPath, 'a', (err, fd) => { if(err) { throw er
原创 node + mysql 分頁請求列表數據
// 獲取列表數據 帶分頁 app.get('/user', (req, res) => { // 獲取分頁參數,當前頁碼和每頁數據量,沒有的話給默認值 let curPage = req.query.curPage? req.que
原创 node + mysql 爬取網頁數據並寫入數據庫
思路: 1.從需要被爬的網站裏獲取數據 2.依據獲取到的數據結構(字段)創建數據庫表結構 3.創建數據表 4.插入數據前整理數據 5.將整理好的數據插入到數據庫中 6.插入操作結束後關閉數據庫連接或者收集錯誤信息 待優化部分: 1.特殊字
原创 mysql中的連接查詢
實現情景:在多張表中查詢數據並組合成新的查詢結構 連接分類:等值連接,左連接,右連接 等值連接(內連接):INNER JOIN a表中的指定項和b表中的指定項符合指定的關係時(一般判斷相等)查取a,b表中的若干指定項。 左連接:LEFT
原创 node + mysql 爬取網頁數據並寫入數據庫(Promise 優化,發郵件優化)
// 連接使用數據庫 import {connection} from './../../common/dbConnect.js' import {senderMsg} from './../../common/mailer.js' /