
JS
文章平均质量分 76
我是真的垃圾啊
这个作者很懒,什么都没留下…
展开
-
JavaScript之洗牌算法
参考资料JavaScript专题之乱序 · Issue #51 · mqyqingfeng/Blog (github.com)Fisher–YatesFisher–Yates shuffle - Wikipedia洗牌算法Fisher_Yates原理 - dodng - 博客园 (cnblogs.com)Fisher-Yates洗牌算法!来自算法理论的创始人! - 知乎 (zhihu.com)其原理就是保证了每一次选取元素的概率的是一样的。如:1 2 3 第一次选取2的概率:1/31原创 2022-01-12 14:40:42 · 330 阅读 · 0 评论 -
JavaScript之函数柯里化
参考资料[面试官:什么是函数柯里化?能手写实现吗? - 蜜瓜 - 博客园 (cnblogs.com)](https://www.cnblogs.com/bidong/p/15498133.html#:~:text=在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数 (最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。 这个技术以逻辑学家 Haskell,Curry 命名的。 什么意思? 简单来说,柯里化是一项技术,它用来改造多参数的函数。)原创 2022-01-11 16:45:19 · 361 阅读 · 0 评论 -
JavaScript之数组扁平化
参考资料JS实现数组扁平化的 6 种方式 - 掘金 (juejin.cn)JavaScript专题之数组扁平化 · Issue #36 · mqyqingfeng/Blog (github.com)Array.prototype.reduce() - JavaScript | MDN (mozilla.org)递归let arr = [1,2,[3,[4,5,[6,7]],8],9];function flatten(arr = []){ let res = []; arr.原创 2022-01-10 21:33:43 · 230 阅读 · 0 评论 -
JavaScript之判断数据类型
参考资料JavaScript专题之类型判断(上) · Issue #28 · mqyqingfeng/Blog (github.com)typeoftypeof 是一元操作符,放在其单个操作数的前面,操作数可以是任意类型。返回值为表示操作数类型的一个字符串。但是呢,它除了对基本数据类型(undefined、Number、String、Boolean)可以做出精确的判断,但是对于null是不能的。对于引用类型几乎无法做出精确的判断。console.log(typeof 123);//numb原创 2022-01-10 15:23:00 · 203 阅读 · 0 评论 -
JavaScript之防抖和节流
参考资料面试官:什么是防抖和节流?有什么区别?如何实现? | web前端面试 - 面试官系列 (vue3js.cn)JavaScript专题之跟着 underscore 学节流 · Issue #26 · mqyqingfeng/Blog (github.com)throttle | Underscore.js 中文文档 | Underscore.js 中文网 (underscorejs.com.cn)特别注意:从下面的代码,我们也可以的出JavaScript的各种事件是异步的,要不然,setT原创 2022-01-10 11:30:24 · 469 阅读 · 0 评论 -
JavaScript之继承方式
参考资料(22条消息) JavaScript各种继承,原型继承,构造函数继承,组合继承,寄生组合,ES6继承,我能学会你也可以_不见浅诗的博客-优快云博客面试官:Javascript如何实现继承? | web前端面试 - 面试官系列 (vue3js.cn)JavaScript深入之继承的多种方式和优缺点 · Issue #16 · mqyqingfeng/Blog (github.com)《JavaScript高级程序设计》原型链继承function father(){ this.原创 2022-01-08 22:42:26 · 234 阅读 · 0 评论 -
JavaScript之手动模拟new关键字
参考资料new 运算符 - JavaScript | MDN (mozilla.org)Object.create() - JavaScript | MDN (mozilla.org)new 关键字new 关键字会进行如下的操作:创建一个空的简单JavaScript对象(即{});为步骤1新创建的对象添加属性__proto__,将该属性链接至构造函数的原型对象 ;将步骤1新创建的对象作为this的上下文 ;如果该函数没有返回对象(null可不是对象),则返回this。代码如下:f原创 2022-01-08 17:22:20 · 214 阅读 · 0 评论 -
JavaScript之deepClone(包含对时间和正则深克隆)
面试官:深拷贝浅拷贝的区别?如何实现一个深拷贝? | web前端面试 - 面试官系列 (vue3js.cn)如何写出一个惊艳面试官的深拷贝? - 掘金 (juejin.cn)如何 clone 一个正则? - 掘金 (juejin.cn)WeakMap - JavaScript | MDN (mozilla.org)// 拷贝时间function cloneDate(date) { let constructor = date.constructor; return new cons原创 2022-01-08 15:05:50 · 469 阅读 · 0 评论 -
JavaScript之call、apply和bind的手动模拟实现
文章目录1. call的实现1.1 设计思路1.2 实现改变上下文1.3 传递参数1.4 null和undefined处理,返回值的处理2. apply的实现3. bind() 的实现3.1 改变this并返回函数3.2 传参的实现3.3 构造函数效果的模拟实现3.4 最终代码1. call的实现参考资料:js 实现call和apply方法,超详细思路分析 - 听风是风 - 博客园 (cnblogs.com)MDN的解释:Function.prototype.call() - JavaScript |原创 2022-01-05 18:55:44 · 630 阅读 · 1 评论 -
JavaScript原始包装类型
JavaScript包装类型原创 2021-12-20 21:24:29 · 459 阅读 · 0 评论 -
ES6中class的执行顺序问题和一些个人理解
执行顺序众所周知,ES6的class只不过是ES5定义对象的语法糖,今天学习的时候突然想到它的执行顺序是什么?我们知道的class在ES6中就是一个函数,且只能通过new才能执行,执行的时候会自动调用里面的构造函数,那么对于里面的方法它们是什么时候被放入class xx 的prototype中的呢?下面用到代码验证一下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">原创 2021-12-06 18:14:57 · 1083 阅读 · 0 评论 -
JavaScript模块化学习
JavaScript模块化学习资料JavaScript modules 模块 - JavaScript | MDN (mozilla.org)Module 的语法 - ECMAScript 6入门 (ruanyifeng.com)什么是模块把一些复杂的程序根据一定的规则拆分乘多个单个文件,并最终组合在一起。这些被拆分出来的文件是模块,模块内部数据是私有的,只有向外部暴露一些方法才能与外部其他模块进行通行。Node.js 已经提供这个能力很长时间了,还有很多的 Javascript 库和框架原创 2021-11-28 14:57:57 · 423 阅读 · 0 评论 -
《JavaScript高级程序设计第4版》第4章-变量、作用域与内存学习笔记
变量、作用域与内存本文是作者在阅读《JavaScript高级程序设计第4版》的读书笔记。1.1 原始值和引用值在JavaScript中有六种原始数据类型:Undefined、Null、String、Boolean、Number、Symbol,保存他们的变量都是按值访问的,也就是它们是存储在栈当中的,我们操作的是实际的值。引用值是保存在内存中的对象。JavaScript 不允许直接访问内存位置,不能直接操作对象所在的内存空间。在操作对象时,实际上操作的是对该对象的引用(reference)而非实际的对原创 2021-11-21 17:58:06 · 935 阅读 · 2 评论 -
JavaScript中this的指向问题
JavaScript中this的指向问题参考资料:JavaScript 的 this 原理 - 阮一峰的网络日志 (ruanyifeng.com)Javascript 的 this 用法 - 阮一峰的网络日志 (ruanyifeng.com)JS中的this指向问题(详细版)_LoveyL0201的博客-优快云博客《你不知道的JavaScript》-上,推荐读这本书本文记录了JavaScript中this指向问题的学习心得,为以后的复习做准备。讨论this的时候要注意是否在严格模式下。下原创 2021-11-02 18:38:30 · 497 阅读 · 0 评论 -
JavaScript之闭包
闭包学习记录后盾人JavaScript闭包的学习过程,以便后续复习。资料:深入理解作用域和闭包 - 掘金 (juejin.cn)第九章 这次把JS闭包给你讲得明明白白_哔哩哔哩_bilibili语法环境和作用域语法环境深入理解JavaScript-词法环境在我看来环境就是用来包裹用的,一个范围,比如说一个小镇,这就是一个环境,里面包含了各种环境和变量。函数也是一个环境。作用域元素的最用范围就是作用域。变量的作用范围就是包裹它环境的范围。<script>原创 2021-10-26 20:47:13 · 170 阅读 · 0 评论 -
JavaScript之实现秒杀倒计时
需求分析用户自定义一个时间,开始倒计时。效果展示思路利用时间戳来判断当前时间和设定时间的差值,然后分别求出时分秒即可。JavaScript获得时间戳的方式有+new Date()obj.vauleofobj.getTimeDate.now()代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="原创 2021-10-17 21:28:46 · 1267 阅读 · 1 评论 -
2021小米商城主页模仿(HTML,CSS,JavaScript)
用时两天模仿的小米商城主页。没有设计图失真的很烦,各个距离都要慢慢找。演示地址大米商城代码大米商城代码总结通过这个的项目,发现在css的的熟练度还是很不足,对于许多的特性虽然知道,但是做的时候没想起来。代码也不是很规范,有一些可以写在一起的代码分开写了,浪费了资源,增加了代码的耦合度。如果两个或者两个元素的元素向右浮动时,若要保证元素的显示顺序,那么在书写元素是应该将元素顺序反着书写,应该代码是从上向下执行的,所以反正写那么就意味着原本在最后的元素先向右浮动,这才能保证顺序。清除浮动的原创 2021-10-17 13:45:14 · 1639 阅读 · 0 评论 -
Javascript之实现登录框拖拽效果
需求分析点击弹出登录框在登录框的特定区域可以将登录框拖拽至任意位置可以关闭登录框,并且下一次点击弹出登录框归位具体实现完整代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport原创 2021-10-02 09:37:48 · 584 阅读 · 2 评论 -
《JavaScript高级程序设计》学习笔记(一)
文章目录一、什么是JavaScriptJavaScript的组成二、HTML中的JavaScript2.1 <script>元素2.1.1 标签位置2.1.2推迟执行脚本2.1.3 异步执行脚本2.1.4 动态记载脚本2.2 行内代码和外部文件2.3 文档模式2.4 <noscript>元素三、JavaScript的语言基础本文是作者在学习《JavaScript高级程序设计》第四版时所总结的笔记。一、什么是JavaScriptJavaScript是由网景公司和Sun公司联合原创 2021-08-21 12:19:56 · 427 阅读 · 0 评论