随笔分类 -  javascript

上一页 1 ··· 7 8 9 10 11 12 13 14 下一页
摘要:有些人认为观察者模式就是发布订阅模式,实际上观察者模式是包含了订阅发布模式,发布订阅模式只是观察者模式中的一种。观察者模式是观察者和被观察者之间的通信,而发布订阅模式中间增加了一个中转层,通过第三方来分发信息。 观察者模式 // Subject为被观察者,Subject中的状态(state)改变,就 阅读全文
posted @ 2020-10-15 17:42 浅笑·
摘要:多年以来,Node.js 都不是实现高 CPU 密集型应用的最佳选择,这主要就是因为 JavaScript 的单线程。作为对此问题的解决方案,Node.js v10.5.0 通过 worker_threads 模块引入了实验性的 “worker 线程” 概念,并从 Node.js v12 LTS 起 阅读全文
posted @ 2020-10-15 17:41 浅笑·
摘要:首先要明确什么是大型应用,其实这是仁者见仁、智者见智的问题,并且它是一个哲学问题,不是一个技术问题。假如有人问你,一个可以进行线上销售的网站,比如优衣库,大不大?你可能会说大,因为这与你平常所见的博客、企业官网等逻辑相比较确实复杂很多。或者说小,那么说明你开发过比它还复杂的系统。那么相比较淘宝而言呢 阅读全文
posted @ 2020-10-15 17:40 浅笑·
摘要:Nodejs是基于chrome浏览器的V8引擎构建的,也就说明它的模型与浏览器是类似的。我们的JavaScript会运行在单个进程的单个线程上。 但是V8引擎的单进程单线程并不是完美的结构,现如今CPU基本上都是多核的。真正的服务器往往有好几个CPU(像我们的线上物理机有12个核),所以,这就将抛出 阅读全文
posted @ 2020-10-15 17:38 浅笑·
摘要:nodejs可以使用检测因特网状态的库internet-available、is-online来检查网络状态,其原理是检测dns连接状态。这两个库提供了超时检测。 用nodejs检测网络状态: internet-available 这个库检测因特网连接状态原理,是检测dns连接状态。 这里大家肯定有 阅读全文
posted @ 2020-10-15 17:37 浅笑·
摘要:对于前端来说,请求是前端日常工作必备的,通过请求才能与后端进行数据交互,尤其在现在前后端分离的开发模式下,请求显得就更加重要。因此,对于前端开发者来说,掌握请求就很重要。下面将从http请求和常见的几个请求技术做具体的讲解 一、XMLHttpRequest XMLHttpRequest一开始只是微软 阅读全文
posted @ 2020-10-15 17:35 浅笑·
摘要:你可能在 JavaScript 项目中都用了console.log。这是一种查看变量的值或程序运行中发生的事情的便捷方法。但是 JavaScript console 对象还有许多其他的功能,可以在处理项目时提供帮助。本文将会介绍一些我的最爱,希望你在工作时记得使用它们! 请注意,此处的例子适用于在浏 阅读全文
posted @ 2020-10-15 17:34 浅笑·
摘要:JavaScript中退出循环的方法:方法一、使用break语句退出循环。方法二、使用continue语句退出循环。方法三、使用return语句退出循环。 break语句 break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。 由于它是用来退出循环或者switch语句, 阅读全文
posted @ 2020-10-15 17:31 浅笑·
摘要:在一个以数字化为主导的世界中,物联网(IoT)在改变我们的生活和开展业务方式方面发挥着至关重要的作用。从智能生活到工作场所协作,以及与现场员工的联系,物联网将一如既往地节省时间和提高生产力。 根据一份微软物联网研究报告,大约85%的受访者表示他们目前正在采用物联网,四分之三的人处于项目计划阶段 。此 阅读全文
posted @ 2020-10-15 17:30 浅笑·
摘要:Promise只有三种状态:pending、resolve、reject,一个异步的承诺一旦发出,经历等待(pending)后,最终只能为成功或者失败,中途无法取消(abort)。 为promise提供abort功能的思路有两种: 手动实现abort,触发取消后,异步回来的数据直接丢弃(手动实现,比 阅读全文
posted @ 2020-10-15 17:29 浅笑·
摘要:Object.freeze( obj )可以 冻结 一个对象。一个被冻结的对象再也不能被修改; 冻结了一个对象则不能向这个对象添加新的属性,不能删除已经属性, 不能修改该对象已有属性的可枚举性、可配置性、可写性、以及不能修改已有属性的值。 此外,冻结一个对象后该对象的原型也不能被修改。freeze( 阅读全文
posted @ 2020-10-15 17:26 浅笑·
摘要:Promise的基本使用: 利用Promise是解决js异步执行时候回调函数嵌套回调函数的问题, 更简洁地控制函数执行流程; 通过new实例化Promise, 构造函数需要两个参数, 第一个参数为函数执行成功以后执行的函数resolve, 第二个函数为函数执行失败以后执行的函数reject: new 阅读全文
posted @ 2020-10-15 17:25 浅笑·
摘要:js 运行代码的时候分为几个步骤:语法分析 ==》预编译 ==》解释执行 语法解析:通篇扫描代码,查看语法是否出错 解释执行:读一行 - 解释一行 - 执行一行 预编译执行的操作: // 假设之前并没有定义a console.log(a); 打印结果:Uncaught ReferenceError: 阅读全文
posted @ 2020-10-15 17:20 浅笑·
摘要:前言 前段时间学习了关于vue中响应式数据的原理,(并作了学习笔记vue响应式原理),其实是通过Object.defineProperty控制getter和setter,并利用观察者模式完成的响应式设计。那么数组有一系列的操作方法,这些方法并不会触发数组的getter和setter方法。那么vue中 阅读全文
posted @ 2020-09-29 17:45 浅笑· 阅读(6552) 评论(0) 推荐(0)
摘要:与直接使用 Promise 相比,使用 async/await 不仅可以使代码更具可读性,而且还可以在 JavaScript 引擎中实现一些有趣的优化。 这篇文章是关于一个这样的优化,涉及异步代码的堆栈追踪。 async/await 和 Promise 的根本区别在于 await fn() 暂停当前 阅读全文
posted @ 2020-09-28 15:10 浅笑· 阅读(365) 评论(0) 推荐(0)
摘要:首先滚动贯穿现象: 当前容器已经滚动到底部或者顶部,无法再滚动,容器会默认选择上层容器进行滚动,可以说滚动贯穿并非是一个bug,只是一种现象 解决办法,尝试了很多种解决办法,最后依然采用js阻止默认事件的方式解决 1:监听当前容器的滚动距离,判断出到了顶部或者底部 2:如果在顶部,还要往上滚动,阻止 阅读全文
posted @ 2020-09-28 15:07 浅笑· 阅读(131) 评论(0) 推荐(0)
摘要:typescript三种作用域 全局作用域 − 全局变量定义在程序结构的外部,它可以在你代码的任何位置使用。 类作用域 − 这个变量也可以称为 字段。类变量声明在一个类里头,但在类的方法外面。 该变量可以通过类的对象来访问。类变量也可以是静态的,静态的变量可以通过类名直接访问。 资源搜索网站大全ht 阅读全文
posted @ 2020-09-28 15:06 浅笑· 阅读(456) 评论(0) 推荐(0)
摘要:导语:JavaScript定时器是window的一个对象接口,并不是JavaScript的一部分,它的功能是由浏览器实现的,在不同浏览器之间会有所不同。定时器也可以由node.js运行时本身实现。 几周前我在推特上发布了这样一个面试问题: JavaScript面试问题: 在哪里可以找到setTime 阅读全文
posted @ 2020-09-28 15:04 浅笑· 阅读(156) 评论(0) 推荐(0)
摘要:使用字符串可能是一项繁琐的任务,因为有许多不同的用例。例如,将字符串转换为驼峰大小写这样的简单任务可能需要几行代码才能达到最终目标。 function camelize(str) { return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(mat 阅读全文
posted @ 2020-09-28 15:02 浅笑· 阅读(504) 评论(0) 推荐(0)
摘要:介绍 对于很多人来说,使用JavaScript来处理图像不是一件非常简单的事情,幸运的是我们可以借助第三方的库来实现我们想要的功能,本篇文章就介绍一有哪些JavaScript图片处理库可供我们选择和使用!以下排名不分先后 1. Pica 此插件可减小大图像的上传大小,从而节省上传时间。它可以在浏览器 阅读全文
posted @ 2020-09-28 15:01 浅笑· 阅读(1833) 评论(0) 推荐(0)

上一页 1 ··· 7 8 9 10 11 12 13 14 下一页