自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hassan的小博客!

欢迎技术交流!

  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 js数字千位分割的常用方法

文章目录方法一:遍历每3位添加 " , "方法二:toLocaleString方法三:正则匹配和replace把普通的数字转换为带千位分隔符格式的数字字符串是一个非常常见的问题,千位分隔符格式的规则是数字的整数部分每三位一组,以“,”分节。小数部分不分节 。示例:12,345,678.23456注:只针对number所以不做其他类型的校验方法一:遍历每3位添加 " , " const numFormat1 = param => { const num = param + ''; c

2021-06-04 16:46:06 15

原创 CSS 面试题大全看这一篇就够了(持续更新......)

文章目录1.require.context()2.watch1.require.context()1.场景:如页面需要导入多个组件,原始写法:import titleCom from ‘@/components/home/titleCom’import bannerCom from ‘@/components/home/bannerCom’import cellCom from ‘@/components/home/cellCom’components:{titleCom,bannerCom,c

2021-02-20 18:04:42 357

原创 echarts常见问题记录(持续更新)

echarts一些问题记录resize在容器大小发生改变时,实时改变图表尺寸页面只有单个图表 :直接用resize函数页面有多个图表 : 用addEventListenerwindow.addEventListener("resize", () => { myEcharts.resize();});...

2021-02-05 14:53:56 74 1

原创 JavaScript面试题看这一篇就够了(持续更新......)

JavaScript经典面试题1.简要描述 JS 的数据类型?答案:JavaScript 的数据类型可分为原始数据类型和引用数据类型。原始数据类型:String(字符串)、Number(数字)、Boolean(布尔)、Null(空)、Undefined(未定义)引用数据类型:Array(数组)、Object(对象)、Function(函数)2.看代码,写出结果 var a = [];...

2020-08-11 17:27:58 216

原创 HTML5 面试题大全(持续更新) 看这一篇就够了
原力计划

HTML5 经典面试题1.请描述一个网页从开始请求到最终显示的完整过程?一个网页从请求到最终显示的完整过程一般可分为如下7个步骤 :在浏览器中输入网址发送至DNS服务器并获得域名对应的web服务器的IP地址与web服务器建立TCP连接浏览器向web服务器的IP地址发送相应的HTTP请求web服务器响应请求并返回指定URL的数据,或错误信息,如果设定重定向,则重定向到新的URL地址...

2020-06-29 18:37:18 1256

原创 es6 Promise

es6 PromisePromise的设计初衷Promise含义Promise状态Promise特点Promise缺点Promise基本用法then()catch()finally()Promise.all()Promise.race()Promise的设计初衷我们日常开发中,经常需要用到ajax请求数据,拿到数据后,再进行一些处理。可有一次,你需要用ajax进行多次请求,而且,每次请求都依赖上一次请求返回的数据来作为参数,然后继续发出请求——>然后你把代码写的稀碎: $.ajax({

2020-06-23 11:46:41 84

原创 es6 Generator函数

Generator函数声明Generator函数调用Generator函数yield 表达式next()声明Generator函数Generator函数,又叫做生成器函数 //声明一个demo的Generator函数 function* demo(value){ yield `this is ${value}`; yield `这是一个demo`; }看起来和普通函数没什么两样,但是他们有两个重要的区别:普通函数用 function 来声明,Generator函数用 funct

2020-06-22 12:49:41 59

原创 es6 for...of循环 和 Iterator

文章目录传统遍历的方式以及缺陷for循环forEach循环for...in循环for...ofIterator原理Iterator 的遍历过程传统遍历的方式以及缺陷for循环 let arr = [1,2,3,4,5,6]; for(let i=0;i<arr.length;i++){ ..... }缺陷:代码不够简洁forEach循环 let arr = [1,2,3,4,5,6]; arr.forEach(function(value,index){ ..... })

2020-06-04 11:25:47 143

原创 es6 Proxy代理
原力计划

Proxy代理Proxy的实现set()、get()ownKeys()has()apply()Proxy.revocable() `取消代理`Proxy的实现 //定义一个对象person let person = {"name":"小A"}; //创建一个代理对象pro,代理person的读写操作 let pro = new Proxy(person,{ get:function(target,property){ return "大B" } }); pro.name; /

2020-06-02 23:18:19 149

原创 http补充一些

随便写写说一下http和httpshttphttpshttp与https的区别https协议的工作原理https协议的优点https协议的缺点说一下http2.0说一下http和httpshttps的SSL加密是在传输层实现的。http超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协...

2020-04-22 16:02:16 61

原创 简述http

文章目录HTTP简介HTTP工作原理HTTP消息结构客户端请求消息请求头服务器响应消息响应头HTTP请求方法HTTP状态码HTTP状态码类型HTTP状态码列表HTTP content-typeHTTP简介HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是一个基于T...

2020-02-05 14:46:48 360

原创 Vue知识点查缺补漏

对 Vue 框架中一些重要的特性、框架的原理以问题的形式进行整理汇总、有写的不对的或者不够充分的还望指教。文章目录SPA单页面Vue---单向数据流Vue---生命周期v-if 与 v-show的区别computed 与 watch的区别v-modelkeep-aliveSPA单页面1、SPA( single-page application )是一种特殊的Web应用。它将所有的活动局限...

2020-01-31 12:46:02 595

原创 js封装一个判断数据类型的函数

文章目录typeofinstanceofconstructorObject.prototype.toString()到最后了,封装一个准确判断数据类型的函数。有些同学面试上会经常遇到这个笔试题—用js手写一个判断数据类型的函数。当然了这个题方法有好多种…但是你有木有想哪种写法比较简单。如果你还在 if…else if…else if…else…你就out了。但是都是基于----typeof...

2020-01-02 23:11:06 1197

原创 vue页面应用在F5刷新网页后vuex的state数据丢失?

vue单页面应用,用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失1.数据丢失产生原因??因为store里的数据是保存在运行内存中的,当页面刷新(f5)时,页面会重新加载vue实例,store里面的数据就会被重新赋值,从而产生了数据丢失。2.问题解决思路??state里的数据全部是通过请求来触发action或mutation来改变...

2019-12-03 00:19:43 1411

原创 vue父子组件生命周期执行顺序

vue父子组件生命周期执行顺序加载渲染过程父beforeCreate ---> 父created ---> 父beforeMount ---> 子beforeCreate ---> 子created ---> 子beforeMount ---> 子mounted ---> 父mounted子组件更新过程父beforeUpdate --...

2019-12-02 19:49:47 3279

原创 js笔试题--写出1-10000之间的对称数!

写出1-10000之间的对称数知识普及一哈:一个整数,它的各位数字如果是左右对称的,则称这个数是对称数。例如:1234321、123321等。 对称数也叫做回文数。 一般来说,位数大于或等于两位。最小的对称数是11,没有最大的对称数,因为数位是无穷的。写运算函数 //判断是否是对称数 //接收一个数字,转成字符串格式;判断字符串的相对称的项是否相等;若相等则为对数,返回true;反之返回f...

2019-11-23 19:39:14 1491 1

原创 JavaScript 23道 面试题

1.num的值是什么? const num = parseInt("7*6",10);A: 42B: “42”C: 7D: NaN答案:C只返回了字符串中第一个字母,设定了进制后(也就是第二个参数,指定需要解析的数字是什么进制:二进制、八进制、十进制、十六进制等等…),parseInt检查字符串中的字符是否合法,一旦遇到一个在指定进制中不合法的字符后,立即停止解析并且忽略后面...

2019-11-07 18:08:47 925

原创 Git速查手册

1024了,程序猿们节日快乐,简单整理个供小白使用的git速查手册,之后有时间再完善,其实一会一些简单的操作平时工作就够用了(只要你别闹!一般不会有什么大问题),哈哈哈文章目录Git的组成git--相关配置git--查看远程库信息git--初始化仓库git--将文件提交到暂存区git--将暂存区文件提交到本地仓库git--查看仓库当前状态git--比较文件异同git--查看历史记录git--代码...

2019-10-24 14:01:35 767

原创 JavaScript 50道 面试题

记录一些具有代表性的js面试题,扎实一下基础,一起学习,一起进步,有则改之无则加勉。1.下面代码的输出是什么? function sayHi(){ console.log(name); console.log(age); let name = "Tom"; let age = 18; } sayHi();A: Tom 和 undefinedB: Tom 和 Re...

2019-10-18 10:03:49 6713

原创 微信小程序数据监听

微信小程序数据监听类似于vue的watch*人狠话不多,直接代码搞起*在app.js里定义方法,供全局使用app.js //设置监听器 setWatcher(data, watch) { Object.keys(watch).forEach(v => { let key = v.split('.'); // 将watch中的属性以'...

2019-10-12 17:24:12 2338 2

原创 微信小程序获取Page的各部分高度

微信小程序获取Page的各部分高度 getPageHeight(){ let systemInfo = wx.getSystemInfoSync() // px转换到rpx的比例 let pxToRpxScale = 750 / systemInfo.windowWidth; // 状态栏的高度 let ktxSta...

2019-09-11 11:43:17 3442

原创 微信小程序富文本解析

微信小程序富文本解析*人狠话不多,直接代码搞起*html代码<p>这是一段文字</p><p><strong>这是加粗的字</strong></p><p><em>这是斜体字</em></p><p><u>这是带下划线的字</u><...

2019-09-10 13:55:43 52306

原创 微信小程序加入购物车动画

微信小程序加入购物车动画*人狠话不多,直接代码搞起*点击github下载小demo,可以直接运行看效果,了解二次贝塞尔曲线的可以自己玩。小程序加入购物车动画效果:点击商品,出现一个小的商品图,呈现曲线(贝塞尔曲线/抛物线)飞向购物车的图标里。...

2019-09-10 11:45:18 5528 1

原创 JS 开发日常的小技巧

文章目录类型强制转换String强制转换为NumberObject强制转化为String用Boolean过滤数组中的所有假值双位运算符 `~~`短路运算符 `&&` / `||`取整 `| 0`判断奇偶数 `& 1`函数函数默认值强制参数类型强制转换String强制转换为Number可以用 *1 来转化为数字(实际上是调用 .valueOf方法)然后使用 Numbe...

2019-07-08 19:13:14 675

原创 Git生成SSH Keys配置到GitLab

Git生成SSH KeysSSH keys 可以让你在你的电脑和Code服务器之间建立安全的加密连接打开Git Bash输入cat ~/.ssh/id_rsa.pub (运行查看是否存在本地公钥)如果存在,就会显示下图如果没有输入ssh-keygen -t rsa -C "你的邮箱"执行后会在本地创建一个.ssh的文件夹,里面有id_rsa(私钥)...

2019-07-02 10:21:45 843

原创 es6 Set 和 Map 数据结构

Set 和 Map 数据结构SetSet 实例的属性及方法Set 数组去重WeakSetMapSetSet结构的成员值是没用重复的,每个值都是唯一的。Set本身就是一个构造函数,可以理解为一个类,使用的时候要用new来创建一个实例。 let s = new Set(); console.log(s); // Set{}Set结构会自动忽略相同的值,只会保留一个相同的值。 l...

2019-05-24 11:37:47 728

原创 vue项目中禁止页面滚动 / 滚动事件穿透 (弹出蒙版时,弹出层下面还可以滚动)

vue项目中禁止页面滚动 / 滚动事件穿透移动端解决方案PC端解决方案vue项目中弹出层时,蒙版下还可以滚动页面。移动端解决方案在蒙层所在div上加 @touchmove.prevent <div class="maskBox" @touchmove.prevent></div>PC端解决方案弹层显示时调用 stopMove()停止页面滚动 ,弹层消失...

2019-05-16 17:37:18 6334

原创 es6 Symbol

SymbolJavaScript中的数据类型Symbol用作属性名的 Symbol属性名的遍历getOwnPropertySymbols()Reflect.ownKeys()Symbol.for()Symbol.keyFor()JavaScript中的数据类型String 字符串类型Number 数字类型Object 对象类型Boolean 布尔值类型Null 空值Undefin...

2019-05-16 17:13:17 654

原创 es6 函数的扩展

函数的扩展传统函数参数默认值es6函数参数默认值rest 参数箭头函数箭头函数的使用注意点传统函数参数默认值运算符 || 左侧为true,直接返回左侧的值,否则返回右侧的值 function fn(a,b) { let num = a || 11 let str = b || "bbbbb" }es6函数参数默认值 function fn(a='aaa',b=22) {...

2019-05-16 16:27:43 674

原创 es6 对象的扩展

对象的扩展传统对象属性写法es6对象属性写法属性名表达式属性的可枚举性和遍历`可枚举型`四个操作会忽略enumerable为false的属性:`属性的遍历`以上属性遍历的次序规则Object. is()Object.assign()Object.setPrototypeOf()Object.getPrototypeOf()Object.keys()Object.values()Object.ent...

2019-05-14 19:40:01 703

原创 es6 数组的扩展

数组的扩展Array.from()Array.of()扩展运算符扩展运算符的应用find()findIndex()fill()entries()keys()values()includes()Array.from()Array.from()用于将类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)转为真正的...

2019-05-07 19:12:06 678

原创 es6 数值的扩展

数值的扩展Number.isNaN()Number.isFinite()Number.parseInt()Number.parseFloat()Number.isInteger()Number.EPSILONMath...指数运算符`(**)`Number.isNaN()传统的isNaN()函数会把非数值的参数转化成数值再进行判断 isNaN('str'); // true // ...

2019-05-07 16:59:21 685

原创 es6 字符串的扩展

字符串的扩展传统的字符串拼接模板字符串标签模板ES6字符串String类扩展函数传统的字符串拼接 var str1 = "小白"; var str2 = "hello"; var str3 = "world"; console.log(str1 + "说:" + str2 +","+ str3); //小白说:hello,world普通字符串的拼接不包含空格和换行 var st...

2019-05-06 19:30:07 694

原创 es6 解构赋值

ES6解构赋值传统的变量赋值:变量的解构赋值:数组的解构赋值:对象的解构赋值:`(和数组解构赋值类似)`字符串的解构赋值:数值和布尔值的解构赋值:`解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。`函数参数的解构赋值:变量的解构赋值用途:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。传统的变量赋值: var arr = [1...

2019-05-05 17:45:39 1137

原创 es6 let和const

ES6知识点let与constlet与constlet是更完美的var,不是全局变量,具有块级作用域,大多数情况不会发生变量提升。const定义常量值,不能够重新赋值,如果一个值是一个对象,可以改变对象里边的属性值。let和const都在声明所在的块级作用域内有效let 定义的变量没有变量提升(没有预解释)let 定义的变量不能重复定义(不管是函数还是let/const定义的变量)...

2019-05-04 19:25:58 734

原创 谷歌黑客搜索看这些就够了!

【 谷歌黑客搜索语法】site :可以限制你搜索范围的域名inurl :用于搜索网页上包含的URL,这个语法对寻找网页上的搜索,帮助之类的很有用.intext : 只搜索网页&amp;lt;body&amp;gt;部分中包含的文字(也就是忽略了标题、URL等的文字)intitle : 查包含关键词的页面,一般用于社工别人的webshell密码filetype: 搜索文件的后缀或者扩展名intit...

2018-09-14 09:18:01 2568

echarts4世界地图迁徙/飞线图(带热力)

echarts世界地图迁徙图、飞线图(带热力)的option配置

2021-01-14

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除