随笔分类 -  javascript

上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要:Promise.resolve等价于下面的写法 有时需要将现有对象转为 Promise 对象,Promise.resolve方法就起到这个作用。 Promise.resolve('foo') // 等价于 new Promise(resolve => resolve('foo')) Promise. 阅读全文
posted @ 2020-12-12 14:18 浅笑·
摘要:Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n 第四步parseInt(Math.random()*w 阅读全文
posted @ 2020-12-12 14:17 浅笑·
摘要:方法一: 遍历当前数组,并创建一个暂存容器,每次遍历时,出现一个随机索引,使用随机索引,获取数组中一个随机的值,取出到暂存容器,然后根据当前循环次数的索引,获取数组中的值,放入原来取出的地方,最后把暂存容器的值,赋值给当前循环次数的索引的值,实现随机排序;(即三个容器间的交互) var arr = 阅读全文
posted @ 2020-12-12 14:08 浅笑·
摘要:允许包装在mixin中定义的css块。 分离的规则集是一组css属性、嵌套规则集、媒体声明或者是存储在变量中的任何其他内容,我们可以将它包含在规则集中或其他结构中,并且所有属性都将复制到那里;我们还可以将它用作mixin参数,并将它作为其他任何变量传递。 // 声明分离的规则 @rule_set: 阅读全文
posted @ 2020-12-12 14:06 浅笑·
摘要:迭代器是ES2015中新增的规范,与之相关的for...of也是ES2015新增的。 本文来深入研究一下迭代器是什么,以及迭代器能够干什么? 或许你对for ... of的执行还不了解,比如什么情况下可以使用for ... of去遍历对象,什么情况下会报错等等,这篇文章应该能帮到你。 迭代器协议 f 阅读全文
posted @ 2020-12-12 14:03 浅笑·
摘要:测试的类型 测试是用来检查你代码的代码。测试会使你对自己的程序更有信心。它们还能够防止你在修复一个 bug 时生成另一个 bug。你可以测试程序的方方面面,从单个函数及其返回值到在浏览器中运行的复杂程序。由于这是本课程的第一篇文章,因此我会简要对比一些流行的测试类型。 单元测试 单元测试覆盖了代码块 阅读全文
posted @ 2020-12-12 14:02 浅笑·
摘要:首先我们要进行js进度条的布局 js进度条布局如下: </script> <style type="text/css" id='css'> #progress { position: fixed; background: #000; top: 0; left: 0; width: 100%; hei 阅读全文
posted @ 2020-12-12 14:01 浅笑·
摘要:1、前言 在平时工作开发中,大部分开发人员都花费大量的时间在维护其他人员的代码。很难从头开始开发新代码,很多情况下都是以他人成果为基础的,或者新增修改需求,自己写的代码也会被其他开发人员调用,所以写好一份高质量可维护的代码就显得十分重要。 2、什么是可维护代码 可维护代码需要遵循以下几个特点。 1. 阅读全文
posted @ 2020-12-12 13:59 浅笑·
摘要:什么是尾调用? 尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。 function f(x){ return g(x); } 上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。以下三种情况,都不属于尾调用。 // 阅读全文
posted @ 2020-12-12 13:58 浅笑·
摘要:js判断对象是否为空对象 判断一个对象是否为空对象,本文给出三种判断方法: 1、最常见的思路,for...in...遍历属性,为真则为“非空数组”;否则为“空数组” function judgeObj(Obj){ for(var attr in Obj){ return alert('非空对象') 阅读全文
posted @ 2020-12-12 13:55 浅笑·
摘要:1、断开原因 WebSocket断开的原因有很多,最好在WebSocket断开时,将错误打印出来。 ws.onclose = function (e) { console.log('websocket 断开: ' + e.code + ' ' + e.reason + ' ' + e.wasClea 阅读全文
posted @ 2020-12-12 13:53 浅笑·
摘要:引言 闭包就是指 能够访问另一个函数作用域的变量的函数 ,闭包就是一个函数,能够访问其他函数的作用域中的变量,js有一个全局对象,在浏览器下是window,node下是global,所有的函数都在这个对象下,也能访问这个对象下的变量,这也就是说, js中的所有函数都是闭包 闭包的定义 函数与对其状态 阅读全文
posted @ 2020-12-12 13:51 浅笑·
摘要:什么是事件 我想你很可能听说过事件驱动, 但是事件驱动到底是什么?为什么说浏览器是事件驱动的呢?为什么 Nodejs 也是事件驱动的 ? 两者是一回事么? 实际上不管是浏览器还是 Nodejs 都是事件驱动的,都有自己的事件模型。在这里,我们只讲解浏览器端的事件模型,如果对 Nodejs 事件模型感 阅读全文
posted @ 2020-12-12 13:50 浅笑·
摘要:sort() 方法是最强大的数组方法之一。 数组排序 sort() 方法以字母顺序对数组进行排序: 实例 var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // 对 fruits 中的元素进行排序 反转数组 rev 阅读全文
posted @ 2020-12-12 13:48 浅笑·
摘要:简介 本章节讨论使用ES6编码风格到代码中需要注意的点。通过记住这些关键点,可以让我们写出更优美的、可读性更强的JavaScript E6风格的代码。 1、块级作用域 1.1、let取代var ES6 提出了两个新的声明变量的命令: let 和 const。其中,let可以完全取代var,因为两者语 阅读全文
posted @ 2020-12-10 13:59 浅笑·
摘要:在本教程中,您将学习如何使用Three.js在三个步骤中使对象看起来像玻璃。 渲染3D对象时,无论使用某种3D软件还是使用WebGL进行实时显示,始终都必须为其分配材料以使其可见并具有所需的外观。 可以使用Three.js之类的库中的现成程序来模仿许多类型的材料,但是在本教程中,我将向您展示如何使用 阅读全文
posted @ 2020-12-10 13:56 浅笑·
摘要:本文内容 Map的基本使用 Map支持的数据类型 Map的迭代 Map与其他对象的转化 在Map出现之前,要实现类似需求,只能使用Object,但是Object还是存在一些问题的。 如果使用Object作为key存储在{}中,key最终是当做[object Object]来使用的 Object的ke 阅读全文
posted @ 2020-12-10 13:39 浅笑·
摘要:背景: 想要实现图片持续滚动,既然使用js,就千万不要加css动画、过渡等相关样式,如果想要滚动的平滑一下,可以一像素一像素的感动,则很平滑,如果加了过渡动画,当图片重置为0时,会有往回倒的动画效果,跟预期不符。 原理: 图片滚动原理同图片轮播原理,同样也适用于文字滚动等一系列滚动,通过复制最后一张 阅读全文
posted @ 2020-12-07 14:53 浅笑·
摘要:从 Node.js v10.0.0 开始,异步迭代器就出现中了,最近它们在社区中的吸引力越来越大。在本文中,我们将讨论异步迭代器的作用,还将解决它们可能用于什么目的的问题。 什么是异步迭代器 那么什么是异步迭代器?它们实际上是以前可用的迭代器的异步版本。当我们不知道迭代的值和最终状态时,可以使用异步 阅读全文
posted @ 2020-12-07 14:51 浅笑·
摘要:TypeScript 2.1 引入了映射类型,这是对类型系统的一个强大的补充。本质上,映射类型允许w咱们通过映射属性类型从现有类型创建新类型。根据咱们指定的规则转换现有类型的每个属性。转换后的属性组成新的类型。 使用映射类型,可以捕获类型系统中类似 Object.freeze() 等方法的效果。冻结 阅读全文
posted @ 2020-12-07 14:49 浅笑·

上一页 1 2 3 4 5 6 7 8 ··· 14 下一页