![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
文章平均质量分 75
qq2276031
这个作者很懒,什么都没留下…
展开
-
ES6、ES7、ES8特性一锅炖(ES6、ES7、ES8学习指南)
概述ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言。目前JavaScript使用的ECMAScript版本为ECMAScript-262。ECMAScript 标准建立在一些原有的技术上,最为著名的是 JavaScript (网景) 和 JScript (微软)。它最初由网景的 Brendan Eich 发明,第一次出现是在网景的 Navigator 2.0 浏览器上。Netscape 2.0 以及微软 Internet Explorer 3.0 后序的所有浏览器上原创 2021-10-31 19:08:22 · 2505 阅读 · 1 评论 -
网络爬虫-拼多多
失踪人口回归深夜第二弹拼夕夕的anti_content参数逆向分析(0ao开头)直接上链接 --> 拼多多首先进行基操,随便搜索个关键词并抓包可以发现第一次搜索的时候并没有什么加密,真正的anti_content参数是在我们拉动下拉框(等同于翻页)操作加载数据触发接口时才有的。实际上除了anti_content以外其他参数都是要么在第一次访问首页时返回了或者直接写成固定值就ok的。简单分析完毕 直接进入正文 F12全局搜索anti_content...原创 2021-06-22 12:23:35 · 9786 阅读 · 11 评论 -
暴力油猴脚本教程
阅读以下内容所需知识:javascript/jQuery基础知识【李炎恢的JavaScript教程(http://www.ycku.com/javascript/)(http://www.ycku.com/jquery/)】 HTML基础知识【李炎恢的HTML5教程(http://www.ycku.com/html5/)】一、油猴脚本插件的介绍与安装1、介绍简单的说就是往WEB页面嵌入本地脚本以改变页面的动作与风格2、安装1、chrome商店搜索 Violentmonkey(https://git原创 2021-06-10 12:13:07 · 8487 阅读 · 1 评论 -
油猴的学习
// ==UserScript==// @name 百度网盘简易下载助手(直链下载复活版)// @namespace http://bd.softxm.cn/bd/// @version 0.3.1// @icon data:image/jpeg;base64,/9j/4Rc0RXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAEx.原创 2020-12-05 11:31:19 · 14718 阅读 · 2 评论 -
es6 es7 polyfill 语法支持
const { resolve } = require('path')const r = path => resolve(__dirname, path)// cnpm i babel-core babel-preset-stage-3@6.24.1 babel-preset-latest-node@0.2.2 babel-polyfill -D// latest-node 0.2.2 版本正常使用// node 问题: Cannot find module 'babel-core/reg.原创 2020-06-30 16:30:29 · 448 阅读 · 0 评论 -
网页水印生成解决方案
前端水印生成方案前段时间做某系统审核后台,出现了审核人员截图把内容外泄露的情况,虽然截图内容不是特别敏感,但是安全问题还是不能忽视。于是便在系统页面上面加上了水印,对于审核人员截图等敏感操作有一定的提示作用。网页水印生成解决方案通过canvas生成水印Canvas兼容性这里我们用canvas来生成base64图片,通过CanIUse网站查询兼容性,如果在移动端以及一些管理系统使用,兼容性问题可以完全忽略。HTMLCanvasElement.toDataURL方...原创 2020-05-27 12:01:23 · 700 阅读 · 0 评论 -
原生Javascript中DOM节点相关API
原生JS中DOM节点相关API合集节点属性Node.nodeName //返回节点名称,只读Node.nodeType //返回节点类型的常数值,只读Node.nodeValue //返回Text或Comment节点的文本值,只读Node.textContent //返回当前节点和它的所有后代节点的文本内容,可读写Node.baseURI //返回当前网页的绝对路径Node.ownerDocument //返回当前节点所在的顶层文档对象,即documentNode原创 2020-05-27 11:55:00 · 147 阅读 · 0 评论 -
了解 ECMAScript RegExp 断言
前言JavaScript语言的正则表达式,ES5只支持先行断言(lookahead)和先行否定断言(negative lookahead),不支持后行断言(lookbehind)和后行否定断言(negative lookbehind)。先行断言基础说明先行断言(lookahead)指的是,x只有在y前面才匹配,必须写成/x(?=y)/。先行断言括号之中的部分((?=%)),是不计入返回结果的。举例只匹配百分号之前的数字。((log) => { const r.原创 2020-05-27 11:12:00 · 222 阅读 · 0 评论 -
优雅代码之巧用 Ramda
Ramda 有两个特性让它从其它工具库中脱颖而出:所有 Ramda 函数都已经被柯里化。 所有 Ramda 函数都把数据作为最后一个参数传入。这两个特征让我们可以很轻松利用 Ramda 写出 "point free" 风格的代码。所谓 point 就是指作为参数传进函数的数据。point free 就是脱离数据的代码风格。通过做到 point free,我们做到了行为和数据的分离,这利于我们写出更安全(组合行为时没有副作用),更易扩展(脱离数据的逻辑容易复用),和更易理解(读高阶函数的组合就像读普通原创 2020-05-22 10:13:30 · 567 阅读 · 0 评论 -
Promise 必知必会
Promise 必知必会(十道题)Promise 想必大家都十分熟悉,想想就那么几个 api,可是你真的了解 Promise 吗?本文根据 Promise 的一些知识点总结了十道题,看看你能做对几道。以下 promise 均指代 Promise 实例,环境是 Node.js。题目一const promise = new Promise((resolve, reject) => { console.log(1) resolve() console.log(2)})pro原创 2020-05-20 09:50:54 · 170 阅读 · 0 评论 -
JavaScript实现千位分隔符
将普通的数字转换为带千位分隔符格式的数字字符串是一个非常常见的问题,千位分隔符格式的规则是数字的整数部分每三位一组,以“,”分节。小数部分不分节 。示例:19,351,235.235767这里有几个常见的实现方法。1.方法一实现思路是将数字转换为字符数组,再循环整个数组, 每三位添加一个分隔逗号,最后再合并成字符串。因为分隔符在顺序上是从后往前添加的:比如 1234567添加后是1,234,567 而不是 123,456,7 ,所以方便起见可以先把数组倒序,添加完之后再倒序回来,就是正常的顺序了原创 2020-05-19 11:02:41 · 1029 阅读 · 0 评论 -
JavaScript中RegExp对象的属性
说明这篇文章,主要和大家聊聊JavaScript中RegExp对象的属性。解释每个RegExp对象都包含5个属性,source、global、ignoreCase、multiline、lastIndex。source:是一个只读的字符串,包含正则表达式的文本。 1 2 var reg = /JavaScript/; reg.source; //返回 JavaScript global:是一个只读的布尔值,看这个正则表达式是否带有修饰原创 2020-05-15 16:26:02 · 300 阅读 · 0 评论 -
前端的五万字面试宝典
目录一、算法 1.全排列 2.二分搜索 3.排序 二、JS基础 1.继承 2.this指向 3.数据类型 4.CallBack Hell 5.加载 6.事件 7.跨域 8.Ajax 9.垃圾回收 10.eval是什么 11.监听对象属性的改变 12.实现一个私有变量 13.操作符 14.数组 三、高级技巧 1.防抖节流 3.数组展开 4.拖放 5.once 6.promise 7.sleep 四、浏览器 1.缓存 强制缓存 (也叫强缓存) 对比缓原创 2020-05-12 15:05:02 · 318 阅读 · 1 评论 -
2020年前端知识复习必读文章
目录1. JavaScript 基础 1.1 执行上下文/作用域链/闭包 1.2 this/call/apply/bind 1.3 原型/继承 1.4 Promise 1.5 深浅拷贝 1.6 事件机制/Event Loop 1.7 函数式编程 1.8 Service Worker / PWA 1.9 Web Worker 1.10 常用方法 2. CSS 基础 3. 框架(Vue 为主) 3.1 MVVM 3.2 生命周期 3.3 数据绑定 3.4 状态管理 3.5原创 2020-05-12 15:02:05 · 4042 阅读 · 0 评论 -
typeof 和 instanceof 使用的区别
typeof 和 instanceof 都是用来判断类型的函数typeof对于原始类型来说,除了null都可以显示正确的类型typeof 1 // 'number'typeof '1' // 'string'typeof undefined // 'undefined'typeof true // 'boolean'typeof Symbol() // 'symbol'...原创 2020-05-05 11:24:38 · 124 阅读 · 0 评论 -
Javascript 模拟实现new原理 勉励
前言本文1021字,阅读大约需要5分钟。总括:本文对new进行了一个简单介绍,然后使用一个函数模拟实现了new操作符做的事情。参考文档:new 运算符人生是没有毕业的学校。正文new是JS中的一个关键字,用来将构造函数实例化的一个运算符。例子:function Animal(name) { this.name = name;}Animal.prototype...原创 2020-05-05 11:09:31 · 136 阅读 · 0 评论 -
js里的稀疏数组
今天在逛掘金网站的时候,在一篇文章里学到一个新名字,稀疏数组,特此记录一下。稀疏数组就是包含从0开始的不连续索引的数组。也就是说数组中大部分的内容值都未被使用(或都为零)。var arr = new Array(3); //数组没有元素,但是length是3//另一种生成稀疏数组的方法var arr = []arr[1000] = 1 //数组的长度为1001,但是实际的元素只...原创 2020-05-04 13:56:24 · 399 阅读 · 0 评论 -
web JS高频手写代码题
目录 实现 new 方法 实现 Promise 实现一个 call 函数 实现一个 apply 函数 实现一个 bind 函数 浅拷贝、深拷贝的实现 实现一个节流函数 实现一个防抖函数 instanceof 的原理 柯里化函数的实现 Object.create 的基本实现原理 实现一个基本的 Event Bus 实现一个双向数据绑定 实现...原创 2020-04-06 20:35:27 · 227 阅读 · 0 评论 -
数组的迭代方法forEach()、map()、every()、some()以及filter()的用法
ES5为数组定义了5个迭代方法。每个方法都接受两个参数:要在每项上运行的函数和(可选的)运行该函数的作用域对象----影响this的值。传入这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响访问的返回值。以下是这5个迭代方法的作用。 1、every():对数组中的每一项运行给定函数,如果该函数对每一项都...原创 2020-01-27 02:19:39 · 240 阅读 · 0 评论 -
JS中arr.forEach()无法跳出循环解决方法
我们都知道for循环里要跳出整个循环是使用break,但在数组中用forEach循环如要退出整个循环呢?使用break会报错,使用return也不能跳出循环。使用break将会报错:var arr = [1,2,3,4,5];var num = 3;arr.forEach(function(v){if(v == num) {break;}console.log(v);});...原创 2020-01-27 02:15:47 · 313 阅读 · 0 评论 -
async/await 和 promise 的执行顺序 深度理解
8张图让你一步步看清 async/await 和 promise 的执行顺序为什么写这篇文章? 测试一下自己有没有必要看 需要具备的前置基础知识 主要内容 对于async await的理解 画图一步步看清宏任务、微任务的执行过程 为什么写这篇文章?说实话,关于js的异步执行顺序,宏任务、微任务这些,或者async/await这些慨念已经有非常多的文章写了。但是怎么...原创 2019-10-14 13:51:43 · 587 阅读 · 1 评论 -
三点运算符 的运用心得
先看一个es6规范下三点运算符的使用实例:let fun=function(a,...list){ console.log(a,list);};fun('0','a','b','c');//0 [a,b,c]以上可以看到我们现在在定义函数对象时可以动态设置参数的个数了:第一个参数a是普通参数(忽略),大家可以看到第二个参数list前面有三个点 “...”,这种写法在es6规范中...原创 2019-08-07 10:44:45 · 302 阅读 · 0 评论