话题编程语言 › JavaScript

编程语言:JavaScript

关联话题: JS

JS程序设计的常用套路

亲尝百草,方知甘苦。套路,通常有助于提升代码的可读性、扩展性和效率。以下是作者工作中总结出来的一部分代码套路,分享给大家。

A comparison of JavaScript CRDTs

Y.js、Automerge和JSON Joy是三个CRDT库,可以帮助我们理解什么是CRDTs以及如何实现LWW注册表。根据Bartosz Sypytkowski的介绍,CRDTs是一种直观的数据结构,他的实际示例很有帮助。对于理解CRDTs,Jacky的笔记也很有用。总结来说,Y.js易于集成,Automerge具有冲突处理功能,而JSON Joy提供了自定义协议的可能性。根据作者的描述,这些库都很不错,但没有实现作者期望的高级API。

跨端轻量JavaScript引擎的实现与探索

探讨跨端轻量JS引擎的实现方式,深入浅出的研究如何设计和构建一种高效、灵活且可移植的JS引擎,使其能够在不同的平台上运行JS应用程序。通过本次分享,您将了解到实现跨端JS引擎的关键技术和挑战。

前端 JS 安全对抗原理与实践

前端代码都是公开的,需要使用一些加密和混淆的防护手段。

深度解读 JS 构造函数、原型、类与继承

本文介绍了JavaScript中构造函数和this关键字的使用,以及构造函数中return的影响。构造函数不需要使用return语句,this关键字会自动指向新创建的对象。然而,如果构造函数中使用了return语句,返回的是基本类型,则该返回值会被忽略;如果返回的是一个对象,则最终返回的新对象将是返回的对象,原本的this指向的对象会被抛弃。此外,通过new关键字创建对象时,应该使用规范的命名方式。

浏览器如何运行一段JavaScript代码

邀请大家一起从浏览器的角度来看一下一段JavaScript代码到底是如何执行的。

JavaScript打包下载最佳实践(StreamSaver.js+zip-stream.js流式下载)

在实际项目中,通常存在用户手动选择下载多个文件的情况。 常规的做法(服务器打包下载)是,后端从文件服务器(比如华为云OBS)读取文件,将这些文件进行打包,然后将压缩包字节流返回给前端,由前端下载到用户本地文件系统。

How we reduced the size of our JavaScript bundles by 33%

When was the last time you were about to click a button on a website, only to have the page shift—causing you to click the wrong button instead? Or the last time you rage-quit a page that took too long to load?

These problems are only amplified in applications as rich and interactive as ours. The more front-end code is written to support more complex features, the more bytes are sent to the browser to be parsed and executed, and the worse performance can get.

At Dropbox, we understand how incredibly annoying such experiences can be. Over the past year, our web performance engineering team narrowed some of our performance problems down to an oft-overlooked culprit: the module bundler.

微盟前端基于JavaScript沙箱落地实践

本文介绍JavaScript沙箱在微盟大前端的探索,由浅入深剖析沙箱机制,实践落地微前端、Node应用,解决业务中的环境隔离问题。

Intro To JavaScript Service Workers

If you have been working with web applications and used progressive web applications most likely you have heard the term Service Worker. If you haven’t, I’m going to teach you the basics of a Service Worker so you can leverage the power of them and use them in your web applications.

JavaScript 的 Anti-Debugging 技術

JavaScript 運行在客戶端,多數 Browser 亦有很強的 debugger,有時為了保護程式碼的邏輯不被破解或想要藏惡意程式之類的,會想辦法讓分析者沒辦法輕易分析原始碼。通常又可以分為阻撓靜態分析(例如 obfuscation)和動態分析(例如 anti-debugging)。這篇文章會介紹 JavaScript 的一些 anti-debugging 的方法,討論可以如何讓分析者沒辦法在 browser 上用 debugger 或甚至偵測自己是否正在被 debug,並分析他們的優劣與可能破解方法。

這篇文章是 U Can’t Debug This: Detecting JavaScript Anti-Debugging Techniques in the Wild 的部份重點整理,該文發表於 USENIX Security 2021。該文其實遠不只 anti-debugging 技術,不過因為他們分析做得很好,所以想針對這部份做重點整理。

RSA加密算法原理及JS实现

在RSA算法中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。本文将会介绍JRSA加密算法原理及JS实现。

Signals 在JavaScript中的应用

如果你还不是很了解Signals,那么这篇文章或许可以帮助你更好地了解一下这个技术。本文将介绍Signals的历史、概念和优势。

深入了解 JavaScript 内存泄漏

在任何语言开发的过程中,对于内存的管理都非常重要,JavaScript 也不例外。

然而在前端浏览器中,用户一般不会在一个页面停留很久,即使有一点内存泄漏,重新加载页面内存也会跟着释放。而且浏览器也有自己的自动回收内存的机制,所以前端并没有特别关注内存泄漏的问题。

是如果我们对内存泄漏没有什么概念,有时候还是有可能因为内存泄漏,导致页面卡顿。了解内存泄漏,如何避免内存泄漏,都是不可缺少的。

基于OpenCV.js的纸张识别和校正

OpenCV是一个开源的跨平台计算机视觉库,底层基于C和C++实现,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法, 大大简化了图像处理和深度学习应用的开发过程。

JS 实现网络测速

日常生活离不开网络,而较差的网络环境令人焦虑。衡量网络的指标有哪些?如何通过 JS 实现网络情况的监测?一起来阅读这篇《JS 实现网络测速》吧。

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-05 12:23
浙ICP备14020137号-1 $Map of visitor$