-
xiaozhi
-
这次将讲解 WebAssembly 是如何工作的,更重要的是,它是如何在性能方面与JavaScript进行比较的:加载时间、执行速度、垃圾收集、内存使用、API开放平台、调试、多线程和可移植性。首先,让我们看看WebAssembly做什么首先,我们有必要了解一下asm.js。2012年,Mozilla 的工程师 Alon Zakai 在研究 LLVM 编译器时突发奇想:许多 3D 游戏都是用 C
-
xiaozhi
-
原文:https://dev.to/aman_singh/so-you-think-you-know-javascript-5c26译者:前端小智为了保证的可读性,本文采用意译而非直译。JavaScript 是一种有趣的语言,我们都喜欢它,因为它的性质。浏览器是JavaScript的主要运行的地方,两者在我们的服务中协同工作。JS有一些概念,人们往往会对它掉以轻心,有时可能会忽略不计。原型、闭包和
-
web
-
可以使用 window.location 获取当前页面url。以下是一些简单应用。<script>
$(function(){
// 返回 web 主机的域名,如:http://127.0.0.1:8080/testdemo/test.html?id=1&name=test
var url = window.location.
-
xiaozhi
-
译者:前端小智原文:https://devinduct.com/blogpost/26/8-useful-javascript-tricks这些技巧可能大家大部分都用过了,如果用过就当作加深点映像,如果没有遇到过,就当作学会了几个技巧。1. 确保数组值使用 grid ,需要重新创建原始数据,并且每行的列长度可能不匹配, 为了确保不匹配行之间的长度相等,可以使用Array.fill方法。letarr
-
xiaozhi
-
这次我们会逐步讲解Web Workers,先说个简单的概念,接着讨论不同类型的Web Workers,他们的组成部分是如何一起工作的,以及不同场景下它们各自优势和限制。最后,提供5个正确使用Web Workers的场景。正如我们前面文章讨论的那样,你应该知道 JavaScript 语言采用的是单线程模型。然而,JavaScript 也为开发人员提供了编写异步代码的机会。异步编程的局限性以前的文章讨
-
java
-
通过OpenGL理解前端渲染原理,本文着重介绍渲染管线工作流程。一、OpenGLOpenGL,是一套绘制3D图形的API,当然它也可以用来绘制2D的物体。OpenGL有一大套可以用来操作模型和图片的函数,通常编写OpenGL库的人是显卡的制造者。我们买的显卡都支持特定版本的OpenGL。下图是用OpenGL做的旋转的立方体。二、渲染原理2.1 渲染管道在OpenGL中,所有东西都在一个3D的空间里
-
xiaozhi
-
本节主要讲解以下几个新的特性:ContextContextTypelazySuspense错误边界(Error boundaries)momoContext定义:Context 提供了一种方式,能够让数据在组件树中传递而不必一级一级手动传递。这定义读的有点晦涩,来看张图:假设有如上的组件层级关系,如果最底层的Item组件,需要最顶层的Window组件中的变量,那我们只能一层一层的传递下去。非常的繁
-
xiaozhi
-
文章底部分享给大家一套 react + socket 实战教程这一次,我们将深入到通信协议的领域,映射和探讨它们的属性,并在此过程中构建部分组件。快速比较WebSockets和 HTTP/2。最后,我们分享一些关于如何选择网络协议的方法。简介如今,功能丰富、动态 ui 的复杂 web 应用程序被认为是理所当然。这并不奇怪——互联网自诞生以来已经走过了漫长的道路。最初,互联网并不是为了支持这种动态和
-
xiaozhi
-
译者:前端小智原文:https://medium.com/@bretcameron/how-to-make-your-code-faster-using-javascript-sets-b432457a4a77为了保证的可读性,本文采用意译而非直译。我确信有很多开发人员坚持使用基本的全局对象:数字,字符串,对象,数组和布尔值。对于许多用例,这些都是需要的。 但是如果想让你的代码尽可能快速和可扩展,
-
web
-
1.opacityopacity是设置一个元素的透明度,这一设置为0只能从视觉上隐藏元素,而元素本身依然占据它自己的位置并对网页的布局起作用,它也将响应用户交互。<div id="div1" style="opacity:0;">DIV1 测试opacity:0隐藏 </div>2.visibility该属性值为hidden的时候,元素将会隐藏,也会占据着自己的位置,并对网
-
xiaozhi
-
译者:前端小智原文:https://codeburst.io/js-essentials-the-javascript-engine-302ff38e8465为了保证可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!一些名词JS引擎— 一个读取代码并运行的引擎,没有单一的“JS引擎”;,每个浏览器都有自己的引擎,如谷歌有V。作用域— 可以从中访问变量
-
xiaozhi
-
最近发布不久的Vue 2.6,使用插槽的语法变得更加简洁。 对插槽的这种改变让我对发现插槽的潜在功能感兴趣,以便为我们基于Vue的项目提供可重用性,新功能和更清晰的可读性。 真正有能力的插槽是什么?如果你是Vue的新手,或者还没有看到2.6版的变化,请继续阅读。也许学习插槽的最佳资源是Vue自己的文档,但是我将在这里给出一个纲要。插槽是什么?插槽是Vue组件的一种机制,它允许你以一种不同于严格的父
-
webhome
-
移动和PC端中的hover处理最近都忙死了,好久都没更新博客了。今天还是想提下移动端的问题 :hover选择器。说到移动和PC端中的hover处理问题,已经碰到过很多次了,先前一直没去仔细的研究过,有时候忽略过去了。众所周知,现在项目都注重交互用户体验,譬如按钮之类的都加上hover效果。但是这个效果在PC端体验很好,如果页面需要做成响应式,那问题就来了,发现在移动端点击按钮后,会执行PC的hov
-
xiaozhi
-
简介如果你关注代码本身和代码的编写方式,而不是只关心它是否能工作,那么你写代码是有一定的水准。专业开发人员将为未来的自己和“其他人”编写代码,而不仅仅只编写当前能工作就行的代码。在此基础上,简洁代码可以定义为自解释的、易于人理解的、易于更改或扩展的代码。以下列表一些好编写方式,仅供参考,当然,如果你有更好的方式,欢迎留言。1. 强类型检查用===代替==//如果处理不当,它会极大地影响程序逻辑。这
-
xiaozhi
-
async与await的使用方式相对简单。 蛤当你尝试在循环中使用await时,事情就会变得复杂一些。在本文中,分享一些在如果循环中使用await值得注意的问题。准备一个例子对于这篇文章,假设你想从水果篮中获取水果的数量。constfruitBasket={
apple:27,
grape:0,
pear:14
};你想从fruitBasket获得每个水果的数量。 要获取水果的数量,可以使
-
xiaozhi
-
通过第一篇文章回顾在单线程环境中编程的缺陷以及如何解决这些缺陷来构建健壮的JavaScript UI。按照惯例,在本文的最后,分享5个如何使用async/ wait编写更简洁代码的技巧。为什么单线程是一个限制?在发布的第一篇文章中,思考了这样一个问题:当调用堆栈中有函数调用需要花费大量时间来处理时会发生什么?例如,假设在浏览器中运行一个复杂的图像转换算法。当调用堆栈有函数要执行时,浏览器不能做任何
-
xiaozhi
-
JavaScript中一个不被重视的概念是对象和函数是如何引用的,并且直接影响 React性能。 如果创建两个完全相同的函数,它们仍然不相等,试试下面的例子:constfunctionOne=function(){alert('Helloworld!');};
constfunctionTwo=function(){alert('Helloworld!');};
-
xiaozhi
-
为了保证可读性,本文采用音译而非直译不学会怎么处理对象,你在 JavaScript 道路就就走不了多远。它们几乎是 JavaScript 编程语言每个方面的基础。事实上,学习如何创建对象可能是你刚开始学习的第一件事。对象是键/值对。创建对象的最常用方法是使用花括号{},并使用点表示法向对象添加属性和方法。letanimal={}
animal.name='Leo'
animal
-
xiaozhi
-
概述JavaScript引擎是执行 JavaScript 代码的程序或解释器。JavaScript引擎可以实现为标准解释器,或者以某种形式将JavaScript编译为字节码的即时编译器。以为实现JavaScript引擎的流行项目的列表:V8 — 开源,由 Google 开发,用 C ++ 编写Rhino — 由 Mozilla 基金会管理,开源,完全用 Java 开发SpiderMonkey —
-
xiaozhi
-
制定向用户提供文件的最佳方式可能是一项棘手的工作。 有很多不同的场景,不同的技术,不同的术语。在这篇文章中,我希望给你所有你需要的东西,这样你就可以:了解哪种文件分割策略最适合你的网站和用户知道怎么做根据Webpack glossary,有两种不同类型的文件分割。 这些术语听起来可以互换,但显然不是。Webpack 文件分离包括两个部分,一个是 Bundle splitting,一个是 Code