摘要:
一、filter() filter用于对数组进行过滤。 它创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。 注意:filter()不会对空数组进行检测、不会改变原始数组 Array.filter(function(currentValue, indedx, arr), this 阅读全文
摘要:
canvas有一个非常常用的方法canvas.toDataURL(),它会将canvas转化为data URL的格式。通常情况下这个data URL的类型为image。看看下面的例子: <canvas id="canvas" height="2" width="2"></canvas> var ca 阅读全文
摘要:
一、字面量方式 var obj = { name: 'mm', age: 18, sayName: function() { console.log(this.name); } } 问题:创建多个对象时会造成代码冗余,很占内存空间。 二、工厂模式 function createToy(name) { 阅读全文
摘要:
作用: 通过指定函数对数组进行处理,并将处理后的结果以新数组的形式返回 注意点: 不会改变原数组,只是将处理后的结果以新数组的形式返回 参数: 该方法可以接收两个参数 第一个参数是函数,数组中的每个元素都会执行该函数,并且是必须要传的 传入函数的三个参数 currentValue 为当前元素的值 必 阅读全文
摘要:
我的意思是,对于刚开始使用这种语言和他语言(例如 C++ 或 C#)的开发人员来说,JavaScript 可能会很奇怪。 某些语言可能会让你大吃一惊 在本文中,我们将看到 5 个例子,并让你能够在几分钟的时间内读完。 数字分隔符 以下面的代码为例: const number1 = 2_0_0_0; 阅读全文
摘要:
这些年来,ES6 将 js 的可用性提升到一个新的水平时: 箭头函数、类等等,这些都很棒。 箭头函数是最有价值的新功能之一,有很多好文章描述了它的上下文透明性和简短的语法。 但每个事务都有两面。通常,新特性会带来一些混乱,其中之一就是箭头函数被误导了。本文将介绍一些场景,在这些场景中,你应该绕过箭头 阅读全文
摘要:
在 JavaScript 中,你可以通过多种方式去定义函数。 第一种常用的方法是使用关键字 function: // 函数声明 function greet(who) { return `Hello, ${who}!`; } // 函数表达式 const greet = function(who) 阅读全文
摘要:
有些人认为观察者模式就是发布订阅模式,实际上观察者模式是包含了订阅发布模式,发布订阅模式只是观察者模式中的一种。观察者模式是观察者和被观察者之间的通信,而发布订阅模式中间增加了一个中转层,通过第三方来分发信息。 观察者模式 // Subject为被观察者,Subject中的状态(state)改变,就 阅读全文
摘要:
多年以来,Node.js 都不是实现高 CPU 密集型应用的最佳选择,这主要就是因为 JavaScript 的单线程。作为对此问题的解决方案,Node.js v10.5.0 通过 worker_threads 模块引入了实验性的 “worker 线程” 概念,并从 Node.js v12 LTS 起 阅读全文
摘要:
首先要明确什么是大型应用,其实这是仁者见仁、智者见智的问题,并且它是一个哲学问题,不是一个技术问题。假如有人问你,一个可以进行线上销售的网站,比如优衣库,大不大?你可能会说大,因为这与你平常所见的博客、企业官网等逻辑相比较确实复杂很多。或者说小,那么说明你开发过比它还复杂的系统。那么相比较淘宝而言呢 阅读全文
摘要:
Nodejs是基于chrome浏览器的V8引擎构建的,也就说明它的模型与浏览器是类似的。我们的JavaScript会运行在单个进程的单个线程上。 但是V8引擎的单进程单线程并不是完美的结构,现如今CPU基本上都是多核的。真正的服务器往往有好几个CPU(像我们的线上物理机有12个核),所以,这就将抛出 阅读全文
摘要:
nodejs可以使用检测因特网状态的库internet-available、is-online来检查网络状态,其原理是检测dns连接状态。这两个库提供了超时检测。 用nodejs检测网络状态: internet-available 这个库检测因特网连接状态原理,是检测dns连接状态。 这里大家肯定有 阅读全文
摘要:
对于前端来说,请求是前端日常工作必备的,通过请求才能与后端进行数据交互,尤其在现在前后端分离的开发模式下,请求显得就更加重要。因此,对于前端开发者来说,掌握请求就很重要。下面将从http请求和常见的几个请求技术做具体的讲解 一、XMLHttpRequest XMLHttpRequest一开始只是微软 阅读全文
摘要:
你可能在 JavaScript 项目中都用了console.log。这是一种查看变量的值或程序运行中发生的事情的便捷方法。但是 JavaScript console 对象还有许多其他的功能,可以在处理项目时提供帮助。本文将会介绍一些我的最爱,希望你在工作时记得使用它们! 请注意,此处的例子适用于在浏 阅读全文
摘要:
JavaScript中退出循环的方法:方法一、使用break语句退出循环。方法二、使用continue语句退出循环。方法三、使用return语句退出循环。 break语句 break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。 由于它是用来退出循环或者switch语句, 阅读全文
摘要:
在一个以数字化为主导的世界中,物联网(IoT)在改变我们的生活和开展业务方式方面发挥着至关重要的作用。从智能生活到工作场所协作,以及与现场员工的联系,物联网将一如既往地节省时间和提高生产力。 根据一份微软物联网研究报告,大约85%的受访者表示他们目前正在采用物联网,四分之三的人处于项目计划阶段 。此 阅读全文
摘要:
Promise只有三种状态:pending、resolve、reject,一个异步的承诺一旦发出,经历等待(pending)后,最终只能为成功或者失败,中途无法取消(abort)。 为promise提供abort功能的思路有两种: 手动实现abort,触发取消后,异步回来的数据直接丢弃(手动实现,比 阅读全文
摘要:
Object.freeze( obj )可以 冻结 一个对象。一个被冻结的对象再也不能被修改; 冻结了一个对象则不能向这个对象添加新的属性,不能删除已经属性, 不能修改该对象已有属性的可枚举性、可配置性、可写性、以及不能修改已有属性的值。 此外,冻结一个对象后该对象的原型也不能被修改。freeze( 阅读全文
摘要:
Promise的基本使用: 利用Promise是解决js异步执行时候回调函数嵌套回调函数的问题, 更简洁地控制函数执行流程; 通过new实例化Promise, 构造函数需要两个参数, 第一个参数为函数执行成功以后执行的函数resolve, 第二个函数为函数执行失败以后执行的函数reject: new 阅读全文
摘要:
js 运行代码的时候分为几个步骤:语法分析 ==》预编译 ==》解释执行 语法解析:通篇扫描代码,查看语法是否出错 解释执行:读一行 - 解释一行 - 执行一行 预编译执行的操作: // 假设之前并没有定义a console.log(a); 打印结果:Uncaught ReferenceError: 阅读全文