
JavaScript
文章平均质量分 52
$(薛定谔的喵)
这个作者很懒,什么都没留下…
展开
-
ES2020(ES11)新特性
title: ECMA2020(ES11)date: 2020-10-16tags: ECMA-JavaScriptcomments: truecategories: ECMA-JavaScriptES2020(ES11)新特性: matchAll [String的方法]import() [动态导入语句]import.metaexport * as ns from 'module'Promise.allSettledBigInt [一种新的数据类型].原创 2020-10-17 12:13:18 · 549 阅读 · 0 评论 -
[Typescript] tsconfig.json项目配置说明
一份TS的配置说明,存于此便于用时翻看{ "compilerOptions": { // 编译选择 "target": "es5", // 指定ECMAScript目标版本。允许的值为“es3”、“es5”、“es6”、“es2015”、“es2016”、“es2017”、“es2018”或“esnext”。 "lib": [ // 指定要包含在编译中的库文件。 ...原创 2019-11-01 14:30:38 · 1936 阅读 · 1 评论 -
promise解决回调地狱(callback hell)
promise解决回调地狱(callback hell)具体参考 阮一峰,ES6标准入门在我们需要对一个异步操作进行频繁的调用的时候,且要保证一步操作的顺序,可能会出现回调地狱(callback)的情况 例如:var fs = require('fs')fs.readFile('../data/a.txt','utf8',function (err,data) { i...原创 2019-01-12 16:17:55 · 3771 阅读 · 0 评论 -
高频网红面试题['1','2','3'].map(parseInt) 原理解析
1、console.log([‘1’,‘2’,‘3’].map(parseInt));权威原文参考 A JavaScript Optional Argument Hazard答案:[1,NaN,NaN]解析:这个题,答主我是知道答案的,因为这个题是 网红题 要解析他 我们先来看看map这个方法他或回调函数的参数 ,和他的使用//这是MDNvar array1 = [1, 4, 9,...原创 2019-02-22 15:53:55 · 818 阅读 · 0 评论 -
es6,class的使用+继承
es6,class的使用+继承话不多说直接上代码实例属性和静态属性function Person(name, age) { this.name = name this.age = age}Person.info = 'aaa'//静态属性var p1 = new Person('小明', '18')console.log(p1,Person.info)cons...原创 2019-03-01 21:35:51 · 896 阅读 · 0 评论 -
typescript 入门篇——面向对象特征
typescript 入门篇具体参考TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。安德斯·海尔斯伯格,C#的首席架构师,已工作于TypeScript的开发本篇是一个入门教程,包含一些 es6为基础,重点篇幅是《面向对特征这一篇幅》——作者 Ruodaun 转载请注明出处...原创 2019-03-15 13:54:51 · 454 阅读 · 0 评论 -
你必须知道的,async/await 实现异步流程控制
你必须知道的,async/await 实现异步流程控制async/awaitasync其实是ES7的才有的关键字,放在这里说,其实是和我们前面所说的Promise,Generator有很大关联的。async的意思是"异步",顾名思义是有关异步操作有关的关键字。而且 async/await 是Generator yield 的语法糖具体参考 阮老师的 es6入门我们这里就展示一下a...原创 2019-06-06 14:57:01 · 644 阅读 · 0 评论 -
JavaScript 二叉树算法,二叉树创建实现,中序排序,前序排序,后序排序
二叉树在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续...原创 2019-06-11 17:15:32 · 523 阅读 · 0 评论 -
localforag离线缓存技术(兼容低版本浏览器)
localforag离线缓存技术ocalForage 是一个 JavaScript 库,通过简单类似 localStorage API 的异步存储来改进你的 Web 应用程序的离线体验。它能存储多种类型的数据,而不仅仅是字符串。localForage 有一个优雅降级策略,若浏览器不支持 IndexedDB 或 WebSQL,则使用 localStorage。在所有主流浏览器中都可用:Chro...原创 2019-07-04 13:11:37 · 620 阅读 · 0 评论 -
ES2018(ES9)译文指南
ES2018原文链接异步迭代在async/await的某些时刻,你可能尝试在同步循环中调用异步函数。例如:async function process(array) { for (let i of array) { await doSomething(i); }}这段代码是不会正常执行的,循环本身依旧保持同步,并在在内部异步函数之前全部调用完成。ES20...原创 2019-08-27 10:22:56 · 285 阅读 · 0 评论 -
JavaScript 中LHS和RSH
LSH和RSH我们在对变量-函数等进行赋值的时候的时候 会发生以下场景:引擎会为变量a 进行LHS 查询。另外一个查找的类型叫作RHS。我打赌你一定能猜到“L”和“R”的含义,它们分别代表左侧和右侧。什么东西的左侧和右侧?是一个赋值操作的左侧和右侧。换句话说,当变量出现在赋值操作的左侧时进行LHS 查询,出现在右侧时进行RHS 查询。讲得更准确一点:RHS 查询与简单...原创 2018-12-14 14:26:08 · 1051 阅读 · 0 评论 -
JavaScript封装回调函数(委托)
JavaScript封装回调函数(委托)封装 function ajax (method, url, params, done) { method = method.toUpperCase() var xhr = new XMLHttpRequest() if (typeof params === 'object') { var te...原创 2018-10-10 22:26:00 · 3423 阅读 · 0 评论 -
Ajax同步和异步(Async and Sync)
概念:同步:一个人在同一个时刻只能做一件事情,在执行一些耗时的操作(不需要看管)不去做别的事,只是等待异步:在执行一些耗时的操作(不需要看管)去做别的事,而不是等待Ajax默认是异步的,但是我们可以通过修改open()的参数来改变是同步还是异步——第三个参数open(,,true/false)true 异步 默认值可不填false 同步的 那同步和异步的区别在哪里呢?虽然同步传...原创 2018-10-08 16:42:32 · 989 阅读 · 0 评论 -
JS闭包
闭包的概念:闭包的概念:函数A中,有一个函数B,函数B中可以访问函数A中定义的变量或者是数据,此时形成了闭包(这句话暂时不严谨闭包的模式:函数模式的闭包,对象模式的闭包闭包的作用:缓存数据,延长作用域链闭包的优点和缺点:缓存数据函数模式的闭包:在一个函数中有一个函数 function f1() { var num=10; //函数的声明 ...原创 2018-09-16 19:39:07 · 1825 阅读 · 0 评论 -
JavaScript沙箱(环境,黑盒)
概念:沙箱:环境,黑盒,在一个虚拟的环境中模拟真实世界,做实验,实验结果和真实世界的结果是一样,但是不会影响真实世界 首先我们来看一下格式 function (){ }();//这种格式的函数叫做自调用函数 //也可以写做下面这种格式,这样的写法比较一体,推荐这种格式, //但是注意在外层括号后面不能漏掉分号不然会出现未知错误。 (fu...原创 2018-09-16 20:06:59 · 1458 阅读 · 0 评论 -
JS递归的用法JavaScript递归)
递归:函数中用调用函数自己,此时就是递归,递归一定要有结束条件 function f1() { console.log("从前有座山,山里有个庙,庙里有个老和尚给小和尚讲故事:"); }; f1();//浏览器崩溃,因为没有结束条件——死循环 改进如下: var i=0; function f1() { ...原创 2018-09-16 20:18:10 · 35700 阅读 · 11 评论 -
JavaScript原型,原型链,继承
原型附一点题外话:面向对象编程思想:根据需求,分析对象,找到对象有什么特征和行为,通过代码的方式来实现需求,要想实现这个需求,就要创建对象,要想创建对象,就应该显示有构造函数,然后通过构造函数来创建对象.,通过对象调用属性和方法来实现相应的功能及需求,即可首先JS不是一门面向对象的语言,JS是一门基于对象的语言,那么为什么学习js还要学习面向对象,因为面向对象的思想适合于人的想法,编程...原创 2018-09-13 16:26:57 · 1989 阅读 · 0 评论 -
JS正则表达式
JS正则表达式概述:表达式:应用栗子:方法:概述:正则表达式:用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种...原创 2018-09-19 11:01:50 · 23862 阅读 · 5 评论 -
函数中this的指向问题(严格模式下的区别)
函数中的this的指向普通函数 //普通函数 function f1() { console.log(this); } f1();//window定时器中的this setInterval(function () { console.log(this); },1000);/...原创 2018-09-14 10:18:22 · 740 阅读 · 0 评论 -
apply和call方法的使用及原理
使用语法函数名字.apply(对象,[参数1,参数2,…])方法名字.apply(对象,[参数1,参数2,…]) call的使用语法函数名字.call(对象,参数1,参数2,…);方法名字.call(对象,参数1,参数2,…); 作用:改变this的指向 不同的地方:参数传递的方式是不一样的 要是想使用别的对象的方法,并且希望这个方法是当前对象的,那么就可以使用a...原创 2018-09-14 23:45:13 · 920 阅读 · 0 评论 -
JavaScript三大系列总结
三大系列网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth (包括边线的宽);网页可见区域高: document.body.offsetHeight (包括边线的宽);网页正文全文宽: document.body.scrol...原创 2018-09-21 22:20:10 · 1730 阅读 · 0 评论 -
mouseenter 与mouseover 区别
mouseenter 与mouseover 区别mouseenter与mouseover有什么不同,也许可以从两方面去讲。看他们是是否支持冒泡或者是否为事件的触发时机; 只有当鼠标指针在对象的边界之外,用户把鼠标移动到对象的边界内时,事件mouseenter才触发。如果鼠标当时正在边界内,用户想要触发该事件,需要把鼠标移动到对象边界外再移动到边界内。 因此,mouseenter不支持事件冒...原创 2018-09-28 17:04:53 · 784 阅读 · 0 评论 -
banner手风琴伸缩动画(ECMAJavaScript)
手风琴banner,先上效果图一些闲话当然,我知道像这种类型的的效果,我们通过C3来实现— animation: move 1s infinite;是比较方便的而且业比较简单,能才做的效果业比较多,而我这里通过ECMAJavaScript来实现是比较繁杂和老套的,在实际开发过程中我们是尽可能选择方便简单且符合需求的方法来实现的;而我这里缩做的比较符合那做兼容性代码来使用...原创 2018-09-01 11:47:03 · 605 阅读 · 0 评论