![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
文章平均质量分 72
盼盼盼
这个作者很懒,什么都没留下…
展开
-
Vue源码分析之Vue入口文件
文章目录1.1 Flow1.2 Vue.js源码目录Vue.js 的源码都在 src 目录下,其目录结构如下:compilercoreplatformsserversfcshared1.3 Vue.js构建方式1.4 Vue.js入口1.1 FlowFlow是facebook出品的JavaScript代码的静态类型检查器。Vue.js 的源码利用了 Flow 做了静态类型检查。Flow的工作方式:类型推断:通过变量的使用上下文来推断,然后根据这些推断来判断类型。类型注释:事先注释数据类型,Flo原创 2020-10-10 16:10:55 · 1037 阅读 · 1 评论 -
前端基于WebSocket封装
1.无心跳,短开连接之后重新连。class webSocketClass { constructor(name) { this.lockReconnect = false; this.localUrl = "ws://XXXXXX"; this.wsUrl = ""; this.globalCallback = null; this.userClose = false; this.createWebSocket(name); } createW原创 2020-09-16 14:39:17 · 1251 阅读 · 0 评论 -
前端面试题及答案汇总
闭包是能够读取其他函数内部变量的函数要理解闭包,首先必须理解Javascript特殊的变量作用域闭包的特性:1.封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;2.持久性:一般的函数,调用完之后,系统会自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包依然存在。1.创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型。2.属性和方法被加到this引用的对象中。原创 2020-03-26 14:39:55 · 64696 阅读 · 14 评论 -
JS字符串截取的三种方法 substring(), slice(),substr()
常用方法: substring(), slice(),substr(),它们都接受一个或两个参数;1. slice()str.slice(start,end)//start是必选参数,意思是从第start个字符开始截取到末尾。如果是负数,那么它规定从字符串尾部开始算起的位置。也就是说,-1 指最后一个字符,-2 指倒数第二个字符,以此类推。//end是可选参数,从第start个字符开始截取到第end个字符。如果没有指定该参数,那么截取的字符串包含从 start 到结束的所有字符。如果这个参数是负数,原创 2020-08-05 18:13:56 · 1241 阅读 · 0 评论 -
vue封装Radio单选组件(有禁用选项、默认选项的单选框)
1.效果展示2.组件代码radio.vue代码:<template> <div class="radio"> <label class="title">{{title}}</label> <a href="#" v-for="(item, index) in options" :key="...原创 2019-07-04 16:55:51 · 7030 阅读 · 1 评论 -
JS中的数据类型
1.js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object)2.typeof操作符检测变量的数据类型var a = 1;console.log(typeof a) //numbervar b = 'hello world';console.log(typeof b); //string...原创 2019-07-03 17:31:41 · 594 阅读 · 0 评论 -
angular封装slider滑动条组件(支持小数)
文章目录1.先展示滑动条效果2.使用angular命令快速创建组件3.代码4.在项目中引用创建的组件1.先展示滑动条效果2.使用angular命令快速创建组件ng g c component/slider打开slider.component.ts文件,可以看到selector的值是app-stepsimport { Component, OnInit} from '@angular/...原创 2019-06-19 18:00:38 · 2011 阅读 · 1 评论 -
JS字符串操作
JS字符串操作1.字符串转换2.获取字符串长度3.字符串切割4.字符串拼接5.字符串截取6.字符串替换7.字符串大小写转换8.字符串去空格9.查询子字符串10.返回指定位置的字符或字符编码1.字符串转换var num = 12;var str = num.toString() //"12"var num = 12;var str = String(num) //"12"var nu...原创 2019-05-08 15:45:56 · 333 阅读 · 0 评论 -
angular6引入jsrsasign,使用RSA加密
1.npm安装依赖包npm install jsrsasign2. 在项目中引用import { jsrsasign } from 'jsrsasign'原创 2019-03-28 14:14:06 · 2386 阅读 · 0 评论 -
angular6引入CryptoJS,使用HmacSHA1加密
1.npm安装CryptoJSnpm install crypto-js2.在项目中引用import CryptoJS from 'crypto-js' //注意,没有{ }getSign() { var data = new Date().getTime() var value = "123456"; var key = "GBSJSNKKM@hsdjdkm...原创 2019-03-28 13:59:10 · 3699 阅读 · 0 评论 -
H5刘海屏 刘海的高度计算 JS
何为刘海屏计算刘海屏的大致思路屏幕的可用高度:屏幕的可用宽度 = 16:9 刘海高度 = window.screen.availHeight - window.screen.availWidth * 16 / 9原创 2019-03-27 17:51:21 · 4637 阅读 · 0 评论 -
var、let、const三者的区别
1.var定义的变量可以跨块作用域访问,不可以跨函数作用域访问。for(var i=0; i<10; i++){ console.log(i);}console.log(i); //10(function fun(){ for(var j=0; j<10; j++){ console.log(j); }})();console.log(j);//报错存在...原创 2019-03-11 11:25:06 · 696 阅读 · 0 评论 -
JS数组与字符串的相互转换
1.数组转字符串var a=[1,2,3];console.log(a.join()); //&quot;1,2,3&quot;console.log(a.toString()); //&quot;1,2,3&quot;console.log(a.join(&quot;+&quot;)); //1+2+3console.log(a.toString(&quot;+&原创 2019-03-07 14:15:39 · 533 阅读 · 0 评论 -
JS数组与字符串的相互转换
1.数组转字符串var a=[1,2,3];console.log(a.join()); //"1,2,3"console.log(a.toString()); //"1,2,3"console.log(a.join("+")); //1+2+3console.log(a.toString("+")); //1 1,2,3注:toString() 方法可把数组转...原创 2019-03-07 11:06:52 · 692 阅读 · 0 评论 -
JS判断是否用微信打开,判断用户手机是Android还是IOS
//判断是否用微信打开function isWeixinFun() { var u = navigator.userAgent.toLowerCase(); if (u.match(/MicroMessenger/i) == "micromessenger") { return true; } else { return false; ...原创 2019-03-14 14:03:15 · 2237 阅读 · 0 评论 -
JS数组排序函数sort()、reverse()
sort()方法是根据ASCII码进行升序排序的,要降序排列,要使用reverse()1.字符串排序(1)正序:<script> var arr=['ab','ac','bc','ad','dz','bf']; arr.sort(); alert(arr);//排序结果是ab,ac,ad,bc,bf,dz</script>...原创 2016-09-06 08:42:51 · 784 阅读 · 1 评论