
javascript
iimo
在做了在做了(进度0%)
展开
-
关于绕开百度文库复制限制的那档子事
今天写代码的时候在 思否 找了段代码想复制,结果提示登录才能复制,想了想注册账号又要耽误几分钟,想到百度文库也有这东西,于是考虑怎么绕过他。查到了几个比较关键的点:getSelection(),获取选中项document.execCommand('Copy'),复制操作oncopy,复制时触发的事件document.onmousedown,右击事件正常思路按复制选中文本就好了,但是我还想取消掉原有样式,否则复制过来还有很麻烦的样式document.getElementsByTagName('.原创 2020-12-16 15:28:34 · 1570 阅读 · 0 评论 -
重温前端之websocket
创建实例let ws = new WebSocket("url");属性ws.readyState状态码状态名意义0connecting正在连接1open连接成功,可以通信2closing连接正在关闭3closed连接已经关闭事件连接成功的回调ws.onopen=function(){}连接关闭的回调ws.onclose=function(){}收到数据的回调ws.onmessage=function(event){}报错原创 2020-09-04 14:55:45 · 208 阅读 · 0 评论 -
字符画之生成一颗心
利用了repeat重复字符串,再加上for循环来实现,逻辑并不复杂,需要简单考虑一下其设计问题就可以了const size = 6;const border = size;const full = "#";const logo = "*";const getResult = () => { let result = ""; for (let i = 0; i < size; i++) { result += full.repeat(12 * size + 2 * .原创 2020-09-01 15:22:58 · 366 阅读 · 0 评论 -
重温前端之vuex笔记
state正常使用// 定义state:{ count:10}// 调用computed:{ count(){ return this.$store.state.count }}调用语法糖-mapStatecomputed:{ ...mapState(['count','other'])}getters正常使用// 定义getters:{ countPlus(state){ return state.co原创 2020-09-01 10:03:41 · 148 阅读 · 0 评论 -
重温前端之输入url后的全过程
DNS解析查找浏览器dns缓存查找本地host文件查找本地dns服务器缓存调用本地dns服务器查询调用递归调用更高一层dns服务器直至找到ip为止进行tcp链接---三次握手客户端向服务端发送一个syn为1的tcp包及一些窗口信息等服务端向其回传一个syn为1的tcp包,此外还有表示确认的ack号客户端向服务端发送确认确认的ack包缓存查询是否有etag且是否过期查询是否有if-modified且是否过期查询是否有cache-control且是否过期查询是否有原创 2020-08-31 19:09:21 · 219 阅读 · 0 评论 -
重温前端之es5的继承方式
原型链继承核心:设定其原型指向Student.prototype = new Person();缺点:共享父类引用属性的值构造函数继承核心:在子类构造函数中使用Person.call(this)缺点:只能继承构造函数的属性组合继承核心:在子类构造函数中使用Person.call(this),设定其原型指向Student.prototype = new Person()缺点:调用了两次构造函数原型式继承核心:封装函数容器function content(obj) {原创 2020-08-31 18:45:37 · 186 阅读 · 0 评论 -
重温前端之防抖节流/重绘回流
这两对没什么关系,只是想写在一起防抖定义:一段时间内多次触发时,最后才进行执行应用举例:图片懒加载时的滚动写法function debounce(fn, delay) { let timer = null; return function () { timer ? cleanTimeout(timer) : (timer = setTimeout(fn, delay)); };}节流定义:执行过后,间隔一段时间才能执行(冷却)应用举例:部分按钮写法functi.原创 2020-08-20 18:56:44 · 266 阅读 · 0 评论 -
重温前端之http缓存
强制缓存(优先级较高)开启时,当浏览器缓存中有内容时,客户端直接从浏览器缓存中取得数据Expires(http1.0)到期时间,若再次请求时间小于返回的此时间,则直接使用缓存数据但由于服务端时间和客户端时间不一定一致,会导致误差,现在一般用 cache-control 代替Cache-Control(优先级较高)该值可以在请求中使用,也可以在响应中使用请求no-cache,不使用缓存,需要再发起请求no-store,不保存到缓存max-age,接受缓存时间不大于该秒的原创 2020-08-20 18:55:49 · 159 阅读 · 0 评论 -
重温前端之模块化
module 模式最开始,并没有出现模块化规范,一般使用一种 module 模式来解决 js 作用域污染问题使用对象jq 比较出名语法let myModule = (function (window) { let name = "module"; function setName(value) { name = value; } return { setName }; // 将函数暴露})(window);CommonJS第一种比较规范的规范出现使用对原创 2020-08-18 09:56:14 · 148 阅读 · 0 评论 -
重温前端之this指向问题
默认绑定function foo() { console.log(this.a);}var a = 1;foo(); // 2隐式绑定function foo() { console.log(this.a);}var obj = { a: 2, foo: foo,};obj.foo(); // 2隐式丢失问题在我的理解中,函数传递时,只传递了函数本身,而不传递其上下文,所以造成了丢失function foo() { console.log(this.a)原创 2020-08-17 19:08:20 · 109 阅读 · 0 评论 -
重温前端之常用对象api整理
MathMath.PI,圆周率Math.abs(),绝对值Math.ceil(),向上取整Math.floor(),向下取整Math.round(),四舍五入Math.max()/min(),取多个参数中的最大最小Math.pow(x,y),x 的 y 次方Math.random(),随机数DateDate.getFullYear(),根据本地时间返回指定日期对象的年份(四位数年份时返回四位数字)Date.getMonth(),根据本地时间返回指定日期对象的月份(0-11)Date.原创 2020-08-13 19:35:29 · 263 阅读 · 1 评论 -
重温前端之本地存储
重温前端之本地存储原创 2020-08-11 19:28:12 · 117 阅读 · 0 评论 -
重温前端之类型判断与类型转化
重温前端之类型判断与类型转化原创 2020-08-11 18:45:48 · 210 阅读 · 0 评论 -
重温前端之正则表达式
正则表达式小结原创 2020-08-06 14:21:21 · 230 阅读 · 0 评论 -
vuecil4使用mock进行前后端分离及axios跨域问题
1.上这里注册个号http://rap2.taobao.org2.创建个仓库,在仓库编辑里可以把团队成员拉进来3.编辑接口,写完以后记得保存,然后就可以看到地址了4.点进去地址就可以检查是否好使,然后axios直接访问这个地址就可以作为模拟数据了(get方法)5.post会遇到跨域问题,配置vue.config.js,贴上关键代码devServer: { ...原创 2020-01-14 20:45:54 · 701 阅读 · 0 评论 -
axios二次封装 详细注释
import axios from "axios"; //axios二次封装import { Message } from "element-ui"; //引入element提示框//简单封装一下提示框const messbox = (txt, time = 1000) => { Message({ showClose: true, messa...原创 2020-01-11 10:54:14 · 597 阅读 · 0 评论 -
dom进阶操作
1.查询dom元素document.querySelector与document.querySelectorAlldocument.querySelector('.element')document.querySelector('#element')document.querySelector('div')document.querySelector('[name="username"...原创 2019-11-30 16:46:10 · 262 阅读 · 0 评论 -
js对象不变性:freeze与seal
1.对象常量let obj={name:"zhangsan",age:11};Object.defineProperty(obj,"name",{ writable:false,//不可修改值 configurable:false,//不可再次进行配置该属性,不可删除})2.禁止扩展新属性preventExtensionslet obj={name:"zh...原创 2019-11-27 21:34:00 · 786 阅读 · 0 评论 -
vue+echart手动绘制地图并显示数据
vue+echart手动绘制地图并显示数据原创 2019-11-24 15:38:07 · 1149 阅读 · 3 评论 -
ES5,ES6常用方法及语法糖合辑
1.参数默认值function multiply(a=5,b=1){ return a*b;}multiply(1); //1multiply(1,5); //5multiply(,1); //errormultiply(undifined,1);//12.模板字符串let age=1,name="张三";//采用``定义模板字符串,利用${}引用变量/函数...原创 2019-11-18 21:37:26 · 703 阅读 · 0 评论 -
js判断对象类型
图片来源于http://www.conardli.top/img/bl/bl_9_jc.png ,利用了原型对象上还未修改的toString来判断原创 2019-11-18 21:36:54 · 158 阅读 · 0 评论 -
superagent爬虫访问图片链接并保存到文件夹
superagent .get(" ") .end(function(err, sres) { if (err) { console.log(err); return; } ...原创 2019-11-02 21:28:06 · 1782 阅读 · 0 评论 -
nodejs的简单post爬虫
1. 安装nodejs环境2. 建立空文件夹,在该文件夹下新建app.js文件3. 使用node在该文件夹下安装express,cheerio,superagent-charset,superagentcnpm install express cheerio superagent-charset superagent -s4. 在app.js中写代码var express ...原创 2019-10-28 11:28:15 · 451 阅读 · 0 评论 -
js字符画(图片转字符)简单版详细注释
js字符画(图片转字符)简单版详细注释原创 2019-10-19 20:19:54 · 2440 阅读 · 3 评论 -
在没有id和class情况下获取元素
正常情况下,我们可以设置id与class,通过getElementById与getElementByClassName来获取到元素。但如果使用了框架,比如easyui,elementui等。界面由动态生成,真正的元素很难定位到元素所在。原创 2019-08-21 14:58:58 · 5634 阅读 · 1 评论 -
JavaScript数值转换函数
在js中通常有三种方式将字符串转化为数字原创 2019-08-28 20:38:08 · 271 阅读 · 0 评论 -
js面试题:a==1&&a==2&&a=3的两个思路
看到了一道面试题:a==1&&a==2&&a==3在什么时候成立,查阅资料后总算明白了,记录一下。原创 2019-08-30 19:54:55 · 9653 阅读 · 0 评论 -
js中的数组迭代方法
在js高级程序设计中介绍了五种数组迭代方法原创 2019-08-31 09:14:04 · 253 阅读 · 0 评论 -
javascript创建对象设计模式
javascript创建对象设计模式原创 2019-09-04 19:27:37 · 176 阅读 · 0 评论 -
js的dom节点调用,生成及操作
js的dom节点调用,生成及操作原创 2019-09-28 19:02:03 · 374 阅读 · 0 评论 -
javascript手机号,电话号,邮箱校验的正则表达式
1.邮箱/[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/2.手机号/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/,3.电话号/^0\d{2,3...原创 2019-08-13 15:35:56 · 361 阅读 · 0 评论