随笔分类 -  javascript

摘要:js字符串转换数字方方式主要有三类:转换函数、强制类型转换、弱类型隐式类型转换,利用这三类转换的方式可以有5种转换的方法。 parseInt() parseInt()和Number.parseInt()是最常用的转换字符串为整数数值的方法,其中Number.parseInt()是ES6之后为了减少全 阅读全文
posted @ 2021-07-28 16:59 陌路y
摘要:手写Promise实现过程 1、实现Promise的核心功能 2、判断下当执行器里面时异步代码时的回调函数调用情况 3、then方法多次调用的情况 4、then方法的链式调用,以及如何把then方法的返回值传递到下一个then方法中,再判断返回值是普通值还是peomise对象进而进一步处理 5、判断 阅读全文
posted @ 2021-07-14 20:51 陌路y
摘要:前言 在浏览一些图片网站的时候,经常会看到很多的漂亮的星空图,比如,下面的图片。其实这种星星图片的效果,也可以通过html+css样式和js的方式来实现。今天教大家如何实现星星图的效果。 实现的目标 每次刷新产生随机的星星个数。显示画布上。 http://www.ssnd.com.cn 化妆品OEM 阅读全文
posted @ 2021-07-14 20:49 陌路y
摘要:一、构造函数 构造函数模式的目的就是为了创建一个自定义类,并且创建这个类的实例。构造函数模式中拥有了类和实例的概念,并且实例和实例之间是相互独立的,即实例识别。 构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯上首字母大写。另外就是调用方式的不同,普通函数是直接调用,而构 阅读全文
posted @ 2021-07-14 20:48 陌路y
摘要:关于nvm 我们可在同时进行多个项目时,可能会出现不同项目所使用的node版本是不一样的情况,或者需要使用其他版本node进行测试。在面临这种情况时,我们就可以使用nvm解决管理多个node版本的问题,它可以方便的在同一台设备上进行多个node版本之间切换,注意:如果您之前单独安装了node,建议先 阅读全文
posted @ 2021-07-14 20:47 陌路y
摘要:开始引入类型 花了 10 个小时使用 console.log 排查问题后,你终于修复了 Cannot read property 'x' of undefined 问题,出现这个问题的原因是调用了可能为 undefined 的某个方法,给了你一个「惊喜」!你暗暗发誓,一定要把整个项目迁移到 Type 阅读全文
posted @ 2021-07-14 20:46 陌路y
摘要:由于字符串、对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储分配。JavaScript程序每次创建字符串、数组或对象时,解释器都必须分配内存来存储那个实体。只要像这样动态地分配了内存,最终都要释放这些内存以便他们能够被再用,否则,JavaScript的解释器将会消耗完系统中所 阅读全文
posted @ 2021-07-14 20:44 陌路y
摘要:打字机效果的 N 种实现 实现一:setTimeout() setTimeout版本的实现很简单,只需把要展示的文本进行切割,使用定时器不断向DOM元素里追加文字即可,同时,使用::after伪元素在DOM元素后面产生光标闪烁的效果。代码和效果图如下: <!-- 样式 --> <style type 阅读全文
posted @ 2021-07-14 20:43 陌路y
摘要:1.出现问题的场景 首先,我们发现在ie浏览器与其他的主流浏览器中,由于二进制下浮点数的存储问题,toFixed()的行为是不一样的,也说明了各浏览器厂家的做法不一致。 在ie11中: 0.015.toFixed(2)// 打印结果:"0.02" 在chrome中: 0.015.toFixed(2) 阅读全文
posted @ 2021-07-14 20:41 陌路y
摘要:对象的创建模式 Object构造函数模式 var obj = {}; obj.name = ‘Tom‘ obj.setName = function(name){this.name=name} 对象字面量模式 var obj = { name : ‘Tom‘, setName : function( 阅读全文
posted @ 2021-07-14 20:38 陌路y
摘要:1. 数值分割符 _ ES2021 引入了数值分割符 _,在数值组之间提供分隔,使一个长数值读起来更容易。Chrome 已经提供了对数值分割符的支持,可以在浏览器里试起来。 let number = 100_0000_0000_0000 // 0太多了不用数值分割符眼睛看花了 console.log 阅读全文
posted @ 2021-07-14 20:36 陌路y
摘要:基本概念 Context是 react中为了避免在不同层级组件中逐层传递props的产物,在没有Context的时候父组件向子组件传递props属性只能在组件树上自上而下进行传递,但是有些属性并不是组件树的每层节点都有相同的需求,这样我们再这样逐层传递props就显得代码很繁琐笨重。 使用React 阅读全文
posted @ 2021-07-07 19:08 陌路y
摘要:首先本人通过一个案例来展示jQuery的链式编程风格。先写一个页面,展示一个列表,代码如下: <body> <div> <ul class="menu"> <li class="level1"> <a href="#">水果</a> <ul class="level2"> <li><a href=" 阅读全文
posted @ 2021-07-07 19:07 陌路y
摘要:Promise API改变了JavaScript的游戏。我们从滥用settimeout和解决同步操作到尽一切可能利用这个新的异步API。让我们来看看一些令人敬畏的Promise API技巧! 取消获取请求 我们立即抱怨的一个问题是无法取消承诺。一个简单的promiseInstance.cancel( 阅读全文
posted @ 2021-07-07 19:05 陌路y
摘要:let/const ES6最基本的功能:let和const。 let与var类似,但使用let声明的变量的作用域是在声明它们的块中。(Block指条件块,for循环块等) 例如,在条件块中使用let将在块内作用域变量,在块外不可用。 if (true) { let foo = "word"; } c 阅读全文
posted @ 2021-07-07 19:04 陌路y
摘要:1:变量与属性 以下代码输出什么: const object = { message: 'Hello, World!', getMessage() { const message = 'Hello, Earth!'; return this.message; }};console.log(objec 阅读全文
posted @ 2021-07-07 19:03 陌路y
摘要:前言 二叉树(Binary Tree)是一种树形结构,它的特点是每个节点最多只有两个分支节点,一棵二叉树通常由根节点、分支节点、叶子节点组成,如下图所示。每个分支节点也常常被称作为一棵子树,而二叉堆是一种特殊的树,它属于完全二叉树。 二叉树与二叉堆的关系 在日常工作中会遇到很多数组的操作,比如排序等 阅读全文
posted @ 2021-07-07 19:02 陌路y
摘要:1. 图形平移 首先我们来看如何实现图形的平移操作。 平移的操作就是将图形的原始坐标加上对应的移动距离。首先来看下平移的实现 const vertexShaderSource = "" + "attribute vec4 apos;" + // 定义一个坐标 "uniform float x;" + 阅读全文
posted @ 2021-07-07 19:01 陌路y
摘要:防抖和节流函数是我们经常用到的函数,在实际的开发过程中,如 scroll、resize、click、键盘等事件很容易被多次触发,频繁的触发回调会导致页面卡顿和抖动,为了避免这种情况,需要使用节流和防抖的方法来减少无用的操作和网络请求,也是面试中经常遇到的问题,需要牢牢掌握。 防抖和节流的本质 都是闭 阅读全文
posted @ 2021-07-07 18:59 陌路y
摘要:简单无缝滚动轮播图存在很多漏洞,就是后期增加图片时会很不方便,需要改动的地方也很多,耦合性也很强,只适用于一部分程序,所以我们可以通过改动图片结构和计算折算点的方式,升级代码。 原简单的滚动轮播代码 <html> <head> <meta charset="UTF-8"> <meta http-eq 阅读全文
posted @ 2021-07-07 18:58 陌路y