了解 IEEE 754 浮点数,逐步探索 0.1+0.2 如何等于 0.30000000000000004
受伊恩-斯图尔特(Ian Stewart)所著《改变世界的 17 个方程式》(17 Equations That Changed The World))一书的启发,本文将探讨如何用 JavaScript 编写这些重要的数学方程式。
在向所有 Dropbox 用户推出 Rollup 后,我们发现该项目将 JavaScript 捆绑程序的大小减少了 33%,JavaScript 脚本总数减少了 15%,TTVC 也有适度改善。通过自动代码拆分,我们还大大提高了前端开发速度,开发人员无需在每次更改时手动调整捆绑定义。
了解 JavaScript 中的事件传播对于创建交互式和响应式网络应用程序至关重要。事件冒泡和捕获是决定事件如何遍历 DOM 层次结构的两种机制。通过有效利用这些概念,开发人员可以构建更健壮、更易维护的代码库。
Worker 本质上是运行在另一个线程上的第二个脚本。虽然它们无法访问 DOM(因为它们存在于 HTML 文档之外),但它们仍然可以与主脚本通信。它们主要用于通过处理后台作业(如预先抓取信息)或处理流式日志和轮询等不太重要的任务来缓解主脚本。
三种情况是:1)全局代码;2)eval 代码;3)函数代码,当其中任何一种代码以 “use strict “字符串开头时,整个代码都将以严格模式运行。
如果在解码后取最后一个字符(�)并检查其十六进制值,你会发现它是\uFFFD,而不是原来的\uDE75。虽然没有失败或出错,但输入和输出数据都发生了静悄悄的变化。为什么会这样?
这段代码会出现语法错误。为什么呢?因为我们不能在同步函数中使用 await。正如你所看到的,”processArray “是同步函数。但我们用于 forEach 的匿名函数是同步函数。
高兴通知您,浏览器开发者和规范编写者都已经将许多功能移植到CSS和HTML中,而这些功能在几年前还需要JS。
为了在这些技术栈中做出明智选择,让我们先从核心组件聊起,再对各自前端框架(React、Angular 和 Vue)进行简化比较,考虑到底哪种更符合实际需求。
这篇文章通过一个有趣的 JavaScript 问题,揭示了该 JavaScript 的复杂性和问题的巧妙之处。
如果你是一位JavaScript程序员,本文将带领你迅速的理解Rust这种编程语言的诸多语言知识。网上有很多关于Rust的零基础教程,但是,既然你已经是一位程序员了,为什么不跟自己已经熟悉的编程语言对比一下呢?
解构赋值语法是一种 Javascript 表达式。通过解构赋值,可以将属性/值从对象/数组中取出,赋值给其他变量。
使用JavaScript获取data属性值的方法
这里有100种使用css+js+html制作的时钟钟表手表等,有不少是使用纯css3或HTML5开发出来的,有些是使用SVG,JavaScript等技术制作的。
在过去的几年里我们只能使用 document.execCommand 来操作剪贴板。不过,这种操作剪贴板的操作是同步的,并且只能读取和写入 DOM。现在 Chrome 66 已经支持了新的 Async Clipboard API,作为 execCommand 替代品。
在2018里,对于聪明的开发者们可以去熟悉的东西, Brown 给出了他对 JavaScript 生态系统中各个方面最前沿,至少也是很有用的预测。有两点需要说明的是: 首先,他基于所有 JavaScript于 标准的这些变化中,指出了一些好的可以去了解的,尽管里面所罗列的一些东西可能不是你所关注的。
从在过去的12个月里所从事的不同 JavaScript 相关项目中,我发现有 5 个 ES6 特性是不可或缺的,因为它们真正简化了 JavaScript 普通任务的完成方式。你心中的前 5 名可能和我的不一样,如果是的话,我希望你能在结尾的评论区分享它们。
简单点可以这么说: js是单线程的,是基于事件循环的。setTimeout函数是异步的,异步的事件会加入一个队列,当同步的任务执行完之后,才会执行。
这里我们针对JavaScript初学者给出一些技巧和列出一些陷阱。如果你已经是一个砖家,也可以读一读。
ES6为一些已有的功能提供了非破坏性更新,这类更新中的大部分我们可以理解为语法糖,称之为语法糖,意味着,这类新语法能做的事情其实用ES5也可以做,只是会稍微复杂一些。本章我们将着重讨论这些语法糖,看完之后,可能你会对一些你很熟悉的ES6新语法有不一样的理解。
箭头函数的确与传统函数有不同之处,但仍存在共同的特点。
这篇文章将会向大家简要的介绍JavaScript里关于数组的最重要的5个方法,这5个方法是每个想要高效的进行JavaScript编程的程序员必须知道的。
使用JavaScript和HTML5技术绘制具有动态效果(流水、下雨、飘雾、飞雪等),而且还要伴音,水声、雨声、风声,栩栩如生。
11种调用一个函数的方法
,虽然是可以实现,但有一个弊端,它使用的是flash技术,而如今,很多浏览器开始不支持flash技术,所以,我们需要不依赖flash技术的JavaScript方法来实现浏览器端的剪贴板操作。今天给大家介绍的就是用纯JavaScript实现的解决方案:clipboard.js。
JavaScript 通过XMLHttpRequest(XHR)来执行异步请求,这个方式已经存在了很长一段时间。虽说它很有用,但它不是最佳API。在Fetch API中,最常用的就是fetch()函数。它接收一个URL参数,返回一个promise来处理response。response参数带着一个Response对象。
除了正常运行模式,ECMAscript 5添加了第二种运行模式:”严格模式”(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。
“不管是使用var关键字(在全局上下文)还是不使用var关键字(在任何地方),都可以声明一个变量”。这貌似一个错误的概念:任何时候,变量只能通过使用var关键字才能声明。
IntersectionObserver 能让你知道一个被观测的元素什么时候进入或离开浏览器的可见窗口。
Canvas Gauges是一个用来在html5 canvas是绘制各种计量器、计量仪图表的JavaScript工具库。 下面的这里例子,点击仪表图表可以参考源代码,鼠标移到上面可以看到各种一般的动画效果。在手机或平板上,用手指按住它们,动画就会发生。
getBoundingClientRect()用于获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置。
Lodash和Underscore是两款非常流利的JavaScript工具库,广泛的被程序员用于WEB前端开发。然而,如果你使用的是现代浏览器,你会发现,有很多的方法、函数实际是可以使用原生的JavaScript函数代替,这要感谢ECMAScript5 [ES5]和ECMAScript2015 [ES6]。
如果脚本不依赖于任何脚本,并不被任何脚本依赖,那么则使用 defer。 如果脚本是模块化的,不依赖于任何脚本,那么则使用 async。
包括获取光标位置,设置光标位置,获取选中文字等