原创 JS中call,apply和bind方法
1.來歷 在js中所有的函數都是Function的實例,而且對於Function來說,它的原型即Function.prototype中含有很多東西,其中call,apply和bind方法就是Function原型中的方法,所以根據原
原创 cavas的驗證碼效果demo
最近做了cavas的驗證碼效果,如下圖: 圈的形狀和顏色隨機,可設計需要選中文字的數量。核心代碼如下: //畫空心圓 class setAnimationArc{ constructor() {}
原创 實現數組去重方法整理
1.雙循環去重 雙重for(或while)循環是比較早的方法,如果數組長度很大,那麼將會非常耗費內存 function setArray(arr) { if (Array.isArray(arr)) {
原创 vue 獲取按鈕權限
import Vue from 'vue'; import store from '@/store'; // 權限檢查方法 let hasPermission = Vue.prototype.$has = function(v
原创 Symbol.iterator和for…of
Symbol.iterator ES6中內置了一些Symbol,其中最重要的一個恐怕就是Symbol.iterator了,相當於迭代器的接口,只有對象裏有這個symbol的屬性,纔可以認爲此對象是可迭代的。 ES6新增了兩個協議
原创 日常開發CSS小技巧整理
日常開發CSS小技巧整理 1.解決inline-block元素設置overflow:hidden屬性導致相鄰行內元素向下偏移 .wrap { display: inline-block; overflow: hidden
原创 vue動態ref總結
<template> <div class="li" v-for="(item,index) in diclist"> <Select v-model="model[index].val" ref="selec
原创 vue筆記之 filterts的幾種用法
先上一段代碼: <div class="test"> <p>{{msg | sum}}</p> <p>{{msg | cal 10 20}}</p> <!--過濾器函數始終以
原创 vue筆記(一)
一、 v-cloak 的用法 <div v-cloak> {{ message }} </div> //css [v-cloak] { display: none!important; //添加 !important防
原创 JavaScript 執行機制
今天看到網上一個經典的有關事件循環的試題: //請寫出輸出內容 async function async1() { console.log('async1 start'); await async2();
原创 css彈性盒之justify-content詳解
今天沒事把css彈性盒常用及要注意的做一下整理: 先上代碼如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>測試</title> <style> #ma
原创 base64字符串和file文件互轉
最近項目剛好用到,網上查閱整理下: //將base64轉換爲文件對象 $base64ToFiles(dataurl, filename = 'file') { let arr = dataurl.split(',')
原创 JavaScript數據類型(一)
一、數據類型 ▪ 原始類型** number、boolean、null、underfined、string、symbol (存放於棧中,佔內存小,讀取快),也就是說他們的值是直接存儲在變量訪問的位置,值是不可變的,改變只是“指針
原创 JavaScript數據類型(二)之數據類型轉換
數據類型轉換 在js中數據類型轉換一般分爲兩種,即強制類型轉換和隱式類型轉換(利用js弱變量類型轉換)。 在js中,想要將對象轉換成原始值,必然會調用toPrimitive()內部函數,那麼它是如何工作的呢? <1> toPrim
原创 一個頁面從輸入url到頁面加載顯示完成,這個過程都發生了什麼?
總體來說分爲以下幾個過程: 1、瀏覽器地址欄輸入url 2、瀏覽器會先查看瀏覽器緩存–系統緩存–路由緩存,如有存在緩存,就直接顯示。如果沒有,接着第三步 3、域名解析(DNS)獲取相應的ip 4、瀏覽器向服務器發起tcp連接,與瀏