原创 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連接,與瀏