- Dec 2024
-
blog.glyph.im blog.glyph.im
-
There is a tremendous power in thinking about everything as a single kind of thing, because then you don’t have to juggle lots of different ideas about different kinds of things; you can just think about your problem.
In my experience this is also the main benefit of using node.js as your backend. Being able to write your front and backend code in the same language (javascript) removes a switching cost I didn't fully realize existed until I tried node the first time.
-
- Oct 2024
-
developer.mozilla.org developer.mozilla.org
-
can't be represented exactly by a float
This is saying why
(2.55).toFixed(1)
evaluates to 2.5, cuz, internally, 2.55 is actually, 2.5499999999..., which evals to 2.5 indeed.
-
- Sep 2024
-
en.wikipedia.org en.wikipedia.org
-
In comparison, Perl/Python/Javascript, which also have the latter property, have other false-like values (0 and empty string), which make || differ from a null-coalescing operator in many more cases (numbers and strings being two of the most frequently used data types). This is what led Perl/Python/Javascript to add a separate operator while Ruby hasn't.
-
- Aug 2024
-
www.itflashcards.com www.itflashcards.com
-
JavaScript Flashcards
App with javascript interview questions
Tags
Annotators
URL
-
- Jul 2024
-
-
Barcode Writer in Pure JavaScript
-
- Jun 2024
-
-
- openai use LiveKit to deliver realtime voice
- playground: https://cloud.livekit.io/projects/
-
- Apr 2024
-
developer.mozilla.org developer.mozilla.org
- Feb 2024
-
observablehq.com observablehq.com
-
https://web.archive.org/web/20240216060220/https://observablehq.com/blog/observable-2-0
Observable is a static site generator for data dashboards and analyses. It can handle markdown and is as such compatible with using Obsidian notes as source. See https://mastodon.social/@kepano/111937315007645449
This is comparable with [[EUNotes via Github Respec naar Geonovum]] where I generate a respec site from my notes through github. Except that Respec is text documentation, and Observable contains javascript to present data.
-
-
www.youtube.com www.youtube.com
-
3:00 "and its long..." -- yeah, i have a 3MB obfuscated webapp at boxy-svg.com/app<br /> 3:05 "what would you do?" -- semi-automatic dynamic analysis. rename symbols. eval function calls. interact with the webapp (hence "semi" automatic). trace data in the debugger.<br /> but im still looking for a tool to do that for me... : P<br /> most tools fail on large files, or ESM (import, export) ...<br /> my current favorite is https://github.com/j4k0xb/webcrack and https://github.com/pionxzh/wakaru -- at least it works with ESM
Tags
Annotators
URL
-
- Jan 2024
-
mongoosejs.com mongoosejs.com
-
Instance methods Instances of Models are documents. Documents have many of their own built-in instance methods. We may also define our own custom document instance methods. // define a schema const animalSchema = new Schema({ name: String, type: String }, { // Assign a function to the "methods" object of our animalSchema through schema options. // By following this approach, there is no need to create a separate TS type to define the type of the instance functions. methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } }); // Or, assign a function to the "methods" object of our animalSchema animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); }; Now all of our animal instances have a findSimilarTypes method available to them. const Animal = mongoose.model('Animal', animalSchema); const dog = new Animal({ type: 'dog' }); dog.findSimilarTypes((err, dogs) => { console.log(dogs); // woof }); Overwriting a default mongoose document method may lead to unpredictable results. See this for more details. The example above uses the Schema.methods object directly to save an instance method. You can also use the Schema.method() helper as described here. Do not declare methods using ES6 arrow functions (=>). Arrow functions explicitly prevent binding this, so your method will not have access to the document and the above examples will not work.
Certainly! Let's break down the provided code snippets:
1. What is it and why is it used?
In Mongoose, a schema is a blueprint for defining the structure of documents within a collection. When you define a schema, you can also attach methods to it. These methods become instance methods, meaning they are available on the individual documents (instances) created from that schema.
Instance methods are useful for encapsulating functionality related to a specific document or model instance. They allow you to define custom behavior that can be executed on a specific document. In the given example, the
findSimilarTypes
method is added to instances of theAnimal
model, making it easy to find other animals of the same type.2. Syntax:
Using
methods
object directly in the schema options:javascript const animalSchema = new Schema( { name: String, type: String }, { methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } } );
Using
methods
object directly in the schema:javascript animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };
Using
Schema.method()
helper:javascript animalSchema.method('findSimilarTypes', function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); });
3. Explanation in Simple Words with Examples:
Why it's Used:
Imagine you have a collection of animals in your database, and you want to find other animals of the same type. Instead of writing the same logic repeatedly, you can define a method that can be called on each animal instance to find similar types. This helps in keeping your code DRY (Don't Repeat Yourself) and makes it easier to maintain.
Example:
```javascript const mongoose = require('mongoose'); const { Schema } = mongoose;
// Define a schema with a custom instance method const animalSchema = new Schema({ name: String, type: String });
// Add a custom instance method to find similar types animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };
// Create the Animal model using the schema const Animal = mongoose.model('Animal', animalSchema);
// Create an instance of Animal const dog = new Animal({ type: 'dog', name: 'Buddy' });
// Use the custom method to find similar types dog.findSimilarTypes((err, similarAnimals) => { console.log(similarAnimals); }); ```
In this example,
findSimilarTypes
is a custom instance method added to theAnimal
schema. When you create an instance of theAnimal
model (e.g., a dog), you can then callfindSimilarTypes
on that instance to find other animals with the same type. The method uses thethis.type
property, which refers to the type of the current animal instance. This allows you to easily reuse the logic for finding similar types across different instances of theAnimal
model.
Tags
Annotators
URL
-
-
www.theodinproject.com www.theodinproject.com
-
With the introduction of ES6 Modules, the module pattern (IIFEs) is not needed anymore, though you might still encounter them in the wild.
-
-
developer.mozilla.org developer.mozilla.org
-
Any constructor that can be called with new and has the prototype property can be the candidate for the parent class.
Classes declared with
class
and functions withconstructor
and an assignedprototype
.
-
- Dec 2023
-
www.digitalocean.com www.digitalocean.com
-
We can use the call() method to copy over properties from one constructor into another constructor. Let’s create a Warrior and a Healer constructor.
-
It is important to note that .__proto__ is a legacy feature and should not be used in production code, and it is not present in every modern browser. However, we can use it throughout this article for demonstrative purposes.
-
-
developer.mozilla.org developer.mozilla.org
-
Remember, prefer Array methods that do not modify the original Array.
-
-
developer.mozilla.org developer.mozilla.org
-
javascript.info javascript.infoObjects1
Tags
Annotators
URL
-
-
javascriptissexy.com javascriptissexy.com
- Oct 2023
-
world.hey.com world.hey.com
-
developer.mozilla.org developer.mozilla.org
-
Por exemplo, ao usar métodos como Array.prototype.map()o que retorna o construtor padrão, você deseja que esses métodos retornem um Arrayobjeto pai, em vez do MyArrayobjeto. O Symbol.speciessímbolo permite
-
Você pode querer retornar Arrayobjetos em sua classe de array derivada MyArray. O padrão
-
Qualquer valor passado
-
O Object()construtor faz casos especiais do cenário de subclasse. Se for chamado implicitamente via super(), ele sempre
-
A única diferença de não escrever extendsnada é que o próprio construtor
No entanto
-
Subclasses abstratas ou mix-ins são modelos para classes. Uma classe só pode ter
Portanto
A funcionalidade
-
Uma função com uma superclasse como entrada e uma subclasse estendendo essa superclasse como saída pode
-
A herança é um relacionamento de acoplamento muito forte na programação orientada a objetos. Isso significa
-
Podemos contornar isso usando um sinalizador privado para indicar se a instância está sendo construída. No entanto, um problema mais significativo com esse projeto é que ele quebra
Que afirma
-
A herança muitas vezes leva ao problema do círculo-elipse , porque nenhum tipo
Em geral
-
Composição significa que uma classe
-
Nesse caso, a ReadOnlyMapclasse não é uma subclasse de Map, mas ainda implementa a maioria dos mesmos métodos. Isso significa mais duplicação de código, mas também significa que a ReadOnlyMapclasse não está fortemente acoplada à Mapclasse e não é facilmente interrompida
-
Por exemplo, se a Mapclasse adicionar um emplace()método que não chama set(), isso fará com que a ReadOnlyMapclasse não seja mais somente leitura, a menos
-
Todos os objetos JavaScript herdam
-
As classes não podem estender objetos regulares (não construíveis). Se você deseja herdar de um objeto regular
-
Em vez disso, você precisa retornar
-
No entanto, devido a decisões incertas sobre se super()deve ser chamado dentro do construtor, não é possível
-
extends nullfoi projetado para permitir
-
Portanto, uma maneira melhor de estender os built-ins
-
Qualquer adição de novos métodos na classe base também pode
-
Se você deseja criar subclasses de built-ins enquanto alcança as expectativas acima, você precisa
-
Novos métodos internos sempre constroem a classe base e chamam
-
Esses problemas não são exclusivos de classes internas. Para suas próprias classes, você provavelmente terá que tomar as mesmas decisões. No entanto, para classes internas
-
No entanto, as expectativas acima exigem esforços não triviais para serem implementadas adequadamente.
-
Aqui estão algumas coisas que você pode esperar ao estender uma classe:
-
Se o construtor da classe pai retornar um objeto, esse objeto será usado como
Esse truque é chamado
-
Enquanto a classe base pode retornar qualquer coisa de seu construtor, a classe derivada
-
O thisvalor na extendsexpressão está
-
O lado direito de extendsnão precisa ser um identificador. Você pode usar
Isso geralmente é útil
-
extendsdefine o protótipo para ambos ChildClasse ChildClass.prototype.
-
A prototypepropriedade do ParentClassdeve
-
As duas condições devem ser válidas — por exemplo, funções vinculadas e Proxypodem ser construídas, mas não têm uma prototypepropriedade, portanto
-
A extendspalavra-chave pode ser usada para criar
Bem como
-
Qualquer construtor que possa ser chamado newe tenha a prototypepropriedade
-
A extendspalavra-chave é usada em
Para
-
- Aug 2023
-
docs.obsidian.md docs.obsidian.md
-
HelloWorldPlugin
Is this necessary for the plugin to function?
-
- Jun 2023
- May 2023
-
share-on-mastodon.social share-on-mastodon.social
-
https://share-on-mastodon.social/
A really neat customizable "Share on Mastodon" button for your pages or posts.
-
-
jan.boddez.net jan.boddez.net
-
Another downside to using Gutenberg’s sidebar panels is that, as long as I want to keep supporting the classic editor, I’ve basically got to maintain two copies of the same code, one in PHP and another in JavaScript.
Note to self: getting into WP Gutenberg is a shift deeper into JS and less PHP. My usually entry into creating something for myself is to base it on *AMP (MAMP now) so I can re-use what I have in PHP and MySQL as a homecook.
-
- Mar 2023
-
cocktailpeanut.github.io cocktailpeanut.github.ioDalai1
-
컴퓨터에서 LLAMMA AI를 실행하는 매우 간단한 방법인 Dalai cpp 파일 빌드, github 복제, 파일 다운로드 등을 귀찮게 할 필요가 없음. 모든 것이 자동화 됨
-
-
www.typescriptlang.org www.typescriptlang.org
-
const requiredMetadataKey = Symbol("required");
-
- Feb 2023
-
skilldrick.github.io skilldrick.github.io
-
The simulator widget below contains the entire source code of the game. I’ll explain how it works in the following sections.
Tags
Annotators
URL
-
- Dec 2022
-
-
Typescript added rich type annotations to Javascript, which opened the door to refactoring and static analysis tools that facilitate development and maintenance of large Javascript projects.
Tags
Annotators
URL
-
-
qwik.builder.io qwik.builder.io
-
Qwik Tutorials
This is a note, actually I'm just testing how well this works
-
-
v2.cn.vuejs.org v2.cn.vuejs.org
-
组件注册
-
-
www.zhihu.com www.zhihu.com
-
如何评价 Ant Design 这个项目(一个设计语言)?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
前端如何给 JavaScript 加密(不是混淆)?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
怎样用 JavaScript 程序获取客户的 IP 地址?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
怎样防止重复发送 Ajax 请求?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
bootstrap+jq+ES5 真的比react/vue/angular+ES6 low吗?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
如何评价 hegel 这个 type checker?
Tags
Annotators
URL
-
-
-
对大量使用 immutable data structure 的语言,其 VM 和 GC 会有何特点?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
设计闭包(Closure)的初衷是为了解决什么问题?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
操作 AST 树都有哪些标准算法,各自的优缺点是什么?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
什么是闭包?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
async/await异步模型是否优于stackful coroutine模型?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
使用yield可以做哪些很酷的事情?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Racket这种可以把语言特性写成库的语言为何没有得到广泛的工业应用?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
你用 Node.js 写过哪些大型/复杂的应用?碰到什么难点?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
闭包(closure)在异步请求处理中有哪些优势?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Prototype based和Class based的系统哪个更OOP?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Google Chrome有什么自动翻页的解决方案?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
如何优雅地结合类 Redux 处理异步通信的中间状态?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
如何评价数据流管理架构 Redux?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
前端小白如何学习cycle.js?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
vue2中如何卸载或者重新渲染一个缓存的组件?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Vue.js中如何动态的加载、卸载组件?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
elm如何既能对状态进行统一管理又能保持分形的呢,在我看来 集中管理 跟 分形 是一对矛盾?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Rx.js 的定位到底是什么?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
generator有哪些玩法?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
ES6+中的Generator 函数有何特别之处?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
如何评价 Webkit 推出的并发 JavaScript 提案?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript一个疑问,[ ] (空数组)== true ,具体如下,请问这是为何?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
应该使用 const 定义 object 和 array 吗?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
想要理解函数式编程的思想,最好用哪种函数式编程语言入门?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
有哪些函数式编程在前端的实践经验?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Mixin是什么概念?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 的设计优点是什么?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
动态类型的语言的优缺点有哪些?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
为什么JavaScript里函数的arguments只是array-like object?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Meteor 和 Require.js联用,js 文件的执行顺序?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
在浏览器中基于模块进行JavaScript异步加载有什么意义?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
当下如何拥抱ES6的模块化机制?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
cjs的模块如何和es6的模块相互调用?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
javascript:什么时候会用类的[Symbol.species]属性代替构建函数创建对象?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
使用ES6 Module如何处理模块按需加载 (lazyload)?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
javascript 中使用 onLoad 函数的意义是什么?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
这是requirejs源码的bug吗?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript中对 function 的参数进行重新赋值的影响?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript的功能是不是都是靠C或者C++这种编译语言提供的?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 有哪些常见的类数组 ?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
如何将一个 JavaScript 数组打乱顺序?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript对表达式的优化?
Tags
Annotators
URL
-
-
-
JavaScript中使用object[key]查找属性的过程是怎样的呢(相对于Array查找元素)?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 为什么不在Number上部署[Symbol.iterator] ?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript中 0==null为何是false?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
js中string类型和int类型的界限到底怎么回事?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 内置对象类型的 Date、String,具体是怎么实现的,可以给出一段代码吗?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript字符串底层是如何实现的?
Tags
Annotators
URL
-
-
-
JavaScript 里最大的安全的整数为什么是2的53次方减一?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() 有什么区别?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript / ES6新关键词 let 是否在任何情况下都优于 var?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
var声明的变量为什么不能被删除?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
全局作用域下var a = 2和a = 2有什么区别?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript中运算符优先级的问题?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
如何进行前端自动化测试?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
对于前端工程师,测试 ajax 接口有什么好方法?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 函数式编程存在性能问题么?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
有哪些 JS 调试技巧?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript引擎、虚拟机、运行时环境是一回事儿吗?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
javascript原型链继承的本质?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
js浮点数精度问题的前世今生?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
如何理解es6中的import是静态编译执行的?(一说是编译期执行的)?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 为什么不推荐使用 eval?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 的正则表达式中的 \b 以及 \B 问题?
Tags
Annotators
URL
-
-
-
JavaScript 中原型继承(prototype-based inheritance)的原理是怎样的?
Tags
Annotators
URL
-
-
-
JavaScript原型继承有什么优点?(对象间的继承) JavaScript类继承呢?(构造函数间的继承)
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Angular的脏检测跟Vue的数据劫持相比有什么优势和劣势?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
关于具名的IIFE内部对函数自身再赋值问题?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript中typeof返回NaN我该怎么理解它?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 的 this 关键字是一个好的设计吗?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
如何理解Javascript中的字面量(literal)?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
函数和数组使用typeof返回结果不一样原因?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
如何评价javascript中的这些“坑”?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
ES next中async/await proposal实现原理是什么?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
async/await 在chrome 环境和 node 环境的 执行结果不一致,求解?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
javascript中,new操作符的工作原理是什么?
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 中有可能模拟出类的私有变量吗?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Js中Null类型有何用处?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
js 中的活动对象 与 变量对象 什么区别?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
JavaScript 里 Function 也算一种基本类型?
-
-
www.zhihu.com www.zhihu.com
-
2018年,国内有哪些值得关注的中后台前端产品,发展趋势如何?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
有哪些短小却令人惊叹的 JavaScript 代码?
Tags
Annotators
URL
-
-
www.zhihu.com www.zhihu.com
-
Javascript 如何能简短优雅地实现 sleep 函数?
Tags
Annotators
URL
-
- Nov 2022
-
developer.mozilla.org developer.mozilla.org
-
A File object is a specific kind of Blob, and can be used in any context that a Blob can.
-
-
developer.mozilla.org developer.mozilla.org
-
-
The btoa() function takes a JavaScript string as a parameter. In JavaScript strings are represented using the UTF-16 character encoding: in this encoding, strings are represented as a sequence of 16-bit (2 byte) units. Every ASCII character fits into the first byte of one of these units, but many other characters don't. Base64, by design, expects binary data as its input. In terms of JavaScript strings, this means strings in which each character occupies only one byte. So if you pass a string into btoa() containing characters that occupy more than one byte, you will get an error, because this is not considered binary data:
-
If you need to encode Unicode text as ASCII using btoa(), one option is to convert the string such that each 16-bit unit occupies only one byte.
-
-
typeorm.io typeorm.io
-
-
github.com github.com
-
Template: <%* const id = tp.file.creation_date("YYYYMMDDHHmmss"); await tp.file.rename(`${id} ${tp.file.title}`); %>
Templater code snippet that renames current file to add date & time creation to title of note.
-
-
-
A set of examples of Templater use cases. Templater uses a JavaScript-esque syntax
-
-
frontendin.com frontendin.com
-
Javascript Rich Text Editors
25+ Best Javascript Rich Text Editors (WYSIWYG) For Faster And Useful Development
-
-
frontendin.com frontendin.com
-
Top 10 Best Angular Rich Text Editors For Web Development
Top 10 Best Angular Rich Text Editors For Web Development
-
- Oct 2022
-
natto.dev natto.dev
-
Natto https://natto.dev<br /> built by Paul Shen https://twitter.com/_paulshen
-
-
developer.mozilla.org developer.mozilla.org
-
Number()
-
-
levelup.gitconnected.com levelup.gitconnected.com
-
We use Javascript everywhere, since we solve the “issues” caused by Javascript rendering we want to build as much expertise as possible in this field. But for the other parts, we are taking advantage of CloudFlare’s distributed system for fast response and global scalability. While our uptime guarantees are supported by Digital Ocean’s cloud platform. We also use a myriad of other SaaS providers to maximize our effectiveness.
Stack of Prerender: - Javascript - CloudFlare - Digital Ocean - SaaS providers
-
- Sep 2022
-
leopardjs.com leopardjs.comLeopard1
-
- Aug 2022
-
github.com github.com
-
github.com github.com
- Jul 2022
-
azgaar.github.io azgaar.github.io
- May 2022
-
attacomsian.com attacomsian.com
-
let timer; // Timer identifier const waitTime = 500; // Wait time in milliseconds // Search function const search = (text) => { // TODO: Make HTTP Request HERE }; // Listen for `keyup` event const input = document.querySelector('#input-text'); input.addEventListener('keyup', (e) => { const text = e.currentTarget.value; // Clear timer clearTimeout(timer); // Wait for X ms and then process the request timer = setTimeout(() => { search(text); }, waitTime); });
let timer; // timer identifier const waitTime = 500; // Wait time in milliseconds
// search function const search = (text) => { // to do: make http request here }
// Listen for
keyup
event const input = document.querySelector('#input-text'); input.addEventListener('keyup', (e) => { const text = e.currentTarget.value; // clear timer clearTimeout(timer);// Wait for X ms and then process the request timer = setTimeout(() => { search(text); }, waitTime); });
-
-
-
// Get the input box let input = document.getElementById('my-input'); // Init a timeout variable to be used below let timeout = null; // Listen for keystroke events input.addEventListener('keyup', function (e) { // Clear the timeout if it has already been set. // This will prevent the previous task from executing // if it has been less than <MILLISECONDS> clearTimeout(timeout); // Make a new timeout set to go off in 1000ms (1 second) timeout = setTimeout(function () { console.log('Input Value:', textInput.value); }, 1000); });
let timeout = setTimeout(callback, milliseconds); clearTimeout(timeout);
document.getElementById("id-name"); object.addEventListener('event-name',callback);
-
In order to execute an event listener (or any function for that matter) after the user stops typing, we need to know about the two built-in JavaScript methods setTimeout(callback, milliseconds) and clearTimeout(timeout): setTimeout is a JavaScript method that executes a provided function after a specified amount of time (in milliseconds). clearTimeout is a related method that can be used to cancel a timeout that has been queued.
Step 1. Listen for User Input
<input type="text" id="my-input" />
let input = document.querySelector('#my-input'); input.addEventListener('keyup', function (e) { console.log('Value:', input.value); })
Step2: Debounce Event Handler Function
let input = document.getElementById('my-input'); let timeout = null;
input.addEventListener('keyup', function(e) { clearTimeout(timeout);
timeout = setTimeout(function() { console.llog('Input Value:', textInput.value); }, 1000); })
-
-
stackoverflow.com stackoverflow.com
-
227 This answer is not useful Show activity on this post. Your real question seem to be: Why: null >= 0; // true But: null == 0; // false
- ME TOO
-
-
krypted.com krypted.com
-
HTML Encoding Reference URL-encoding : ASCII Character
- ENCODING
Tags
Annotators
URL
-
-
developer.mozilla.org developer.mozilla.org
-
encodeURIComponent() escapes all characters except: Not Escaped: A-Z a-z 0-9 - _ . ! ~ * ' ( )
- EXCEPTIONs
- ( =%28
- ) = %F29
-
- Apr 2022
-
stimulus.hotwired.dev stimulus.hotwired.dev
-
Stimulus is a JavaScript framework with modest ambitions. It doesn’t seek to take over your entire front-end—in fact, it’s not concerned with rendering HTML at all.
Tags
Annotators
URL
-
-
-
Five years later, the facts on the ground have finally changed. I no longer believe that this bargain is worth it for most new applications.
-
Transpiling with Babel ushered in the era of horrendously complicated transpiling pipelines and tooling. Writing the JavaScript of the future wasn't free. The price was an ever expanding web of complexity. This clearly wasn't the finish line.
-
-
-
-
1) Use Set Using Set(), an instance of unique values will be created, implicitly using this instance will delete the duplicates. So we can make use of this instance and from there we will have to convert that instance into a new array, and that would be it: let chars = ['A', 'B', 'A', 'C', 'B']; let uniqueChars = [...new Set(chars)]; console.log(uniqueChars);
- SET = unique values
-
-
developer.mozilla.org developer.mozilla.orgPromise1
-
Basic Examplelet myFirstPromise = new Promise((resolve, reject) => { // We call resolve(...) when what we were doing asynchronously was successful, and reject(...) when it failed. // In this example, we use setTimeout(...) to simulate async code. // In reality, you will probably be using something like XHR or an HTML5 API. setTimeout( function() { resolve("Success!") // Yay! Everything went well! }, 250) }) myFirstPromise.then((successMessage) => { // successMessage is whatever we passed in the resolve(...) function above. // It doesn't have to be a string, but if it is only a succeed message, it probably will be. console.log("Yay! " + successMessage) });
- BASIC
-
- Mar 2022
-
Tags
Annotators
URL
-
-
github.com github.com
-
// Native const datePattern = /^(\d{2})-(\d{2})-(\d{4})$/; const [, month, day, year] = datePattern.exec('12-25-1995'); new Date(`${month}, ${day} ${year}`);
-
-
momentjs.com momentjs.com
-
Modern JavaScript environments will also implement the by ECMA-402 specification, which provides the Intl object
-
-
-
pos.25boy.my pos.25boy.my
-
let msg = res.code != 0 ? res.msg || '操作失败' : res.msg || "操作成功";
代码优化,可读性的衡量:
let options = res.code != 0 ? { msg: '操作失败', icon: 2} : {msg: "操作成功", icon: 1};
msg = res.msg || options.msg;
Tags
Annotators
URL
-
-
www.cnblogs.com www.cnblogs.com
-
JavaScript 的数学运算
基于 Math 类 Math.ceil() Math.floor()
3.1415926.toFixed(2) // 保留小数位 99.89233.toPrecision(5) // 整体长度,含整数部分
全局对象 window 的方法
parseInt('100') parseInt(100.12) parseInt('string') // => NaN
Number("string") // => 0
位运算:
| 0 , 和 0 按位或 ~~ ,两次按位非
0,右移 0 位 << 0,左移 0 位
0,无符号右移 0 位
Tags
Annotators
URL
-
- Feb 2022
-
stackoverflow.com stackoverflow.com
-
Here's a very simple solution without too much code using a very simple map of diacritics that includes some or all that map to ascii equivalents containing more than one character, i.e. Æ => AE, ffi => ffi, etc... Also included some very basic functional tests var diacriticsMap = { '\u00C0': 'A', // À => A
- MAP of chars to change
-
One solution that seems to be way faster by the given test : http://jsperf.com/diacritics/9 function removeDiacritics(str) { return str.replace(/[^A-Za-z0-9\s]+/g, function(a){ return diacriticsMap[a] || a; }); } removeDiacritics(teste); Working example: http://jsbin.com/sovorute/1/edit Reasoning: One reason this is much faster is because we only iterate through the special characters, picked by the negated regex pattern. The fastest of the tests (String Iteration without in) iterates 1001 on the given text, which means every character. This one iterates only 35 times and outputs the same result. Keep in mind that this will only replace what is indicated in the map. Classic article on the subject: http://alistapart.com/article/accent-folding-for-auto-complete Credit: http://semplicewebsites.com/removing-accents-javascript , also provides a nice character map.
- GOOD SOLUTION
-
With ES2015/ES6 String.prototype.normalize(), const str = "Crème Brulée" str.normalize("NFD").replace(/[\u0300-\u036f]/g, "") > "Creme Brulee" Two things are happening here: normalize()ing to NFD Unicode normal form decomposes combined graphemes into the combination of simple ones. The è of Crème ends up expressed as e + ̀. Using a regex character class to match the U+0300 → U+036F range, it is now trivial to globally get rid of the diacritics, which the Unicode standard conveniently groups as the Combining Diacritical Marks Unicode block. As of 2021, one can also use Unicode property escapes: str.normalize("NFD").replace(/\p{Diacritic}/gu, "")
This solution is the only correct solution here. This works on NodeJS 4.6, Firefox 50 and Chrome 54. – david_p Dec 9, 2016 at 13:12
-
6 This solution is the only correct solution here. This works on NodeJS 4.6, Firefox 50 and Chrome 54. – david_p Dec 9, 2016 at 13:12
With ES2015/ES6 String.prototype.normalize(),
const str = "Crème Brulée" str.normalize("NFD").replace(/[\u0300-\u036f]/g, "")
"Creme Brulee" Two things are happening here:
normalize()ing to NFD Unicode normal form decomposes combined graphemes into the combination of simple ones. The è of Crème ends up expressed as e + ̀. Using a regex character class to match the U+0300 → U+036F range, it is now trivial to globally get rid of the diacritics, which the Unicode standard conveniently groups as the Combining Diacritical Marks Unicode block. As of 2021, one can also use Unicode property escapes:
str.normalize("NFD").replace(/\p{Diacritic}/gu, "")
-
23 There's always one char that fails.. 'ąśćńżółźćę'.normalize('NFD').replace(/[\u0300-\u036f]/g, "") -> ascnzołzce (missing match for ł -> l). – Paweł Fus Jul 24, 2017 at 13:23 15 Correct me if I'm wrong but ł is a letter in itself, not an accented L. Therefore it should not be changed to l. – Lewis Diamond Jul 25, 2017 at 15:28 4 @PawełFus - the ł does not fall within the character class range. You can target it specifically as \u0142 ---SO---> 'ł'.replace(/\u0142/g, "l") – Chris Geirman Nov 26, 2017 at 19:18
- DIACRITICS
-
-
www.programiz.com www.programiz.com
-
All the popular web browsers have built-in JavaScript engines. Hence, you can run JavaScript on a browser. To run JavaScript on a browser,
Tags
Annotators
URL
-
- Jan 2022
-
bytecodealliance.org bytecodealliance.org
-
So you could use this same technique with Python, Ruby, Lua, or other runtimes, too.
Is this not what a
.pyc
file is?
-
-
stackoverflow.com stackoverflow.com
-
Use it with double negation !! (Logical NOT) to convert the numbers in bools:
- !! DOUBLE NEGATION
-