loading
The Countinuation-Passing Style in JavaScript

JavaScript Notes

2018.12.21

The Countinuation-Passing Style in JavaScript

In JavaScript, a callback is a function that is passed as an argument to another function and is invoked with the result when the operation completes. In functional programming, this way of propagating the result is called continuation-passing style (CPS). It simply indicates that a result is propagated by passing it to another function (the callback), instead of directly returning it to the caller.

Practising closures in JavaScript

JavaScript Notes

2018.12.17

Practising closures in JavaScript

JavaScript is a very function-oriented language. As we know, functions are first class objects and can be easily assigned to variables, passed as arguments, returned from another function invocation, or stored into data structures. A function can access variable outside of it. But what happens when an outer variable changes? Does a function get the most recent value or the one that existed when the function was created? Also, what happens when a function invoked in another place - does it get access to the outer variables of the new place?

Get a JavaScript array with unique values

JavaScript Notes

2018.05.11

Get a JavaScript array with unique values

As I need to update an array in Firebase Cloud Firestore with duplicate-free values, let's summarise the methods I found and see how they perform.

Loop with async and await in JavaScript

JavaScript Notes

2018.05.03

Loop with async and await in JavaScript

Well, just got some problems in JavaScript loop with http request inside. Take a short note showing how to deal with it which got ideas from the post JavaScript: async/await with forEach().

National Geographic 'Photo of the Day' Downloader with Shell script

Linux Notes

2018.04.22

National Geographic 'Photo of the Day' Downloader with Shell script

A shell script to automate the process of downloading National Geographic Photo of the Day. The script saves the image of Photo of the Day in the same directory where the script itself resides. You can use cron to make it automatically running everyday.

npm install, concerns for me

Tutorials / Web Notes

2018.04.14

npm install, concerns for me

While learning Node.js, install packages is a commonly operation. However, as a newbie, I might install the packages not in the right way. So taking this note to refresh my mind on npm installs.

Contact form for a static site without a backend

Tutorials

2018.03.24

Contact form for a static site without a backend

For a static site like those on GitHub Pages, everything is done in the frontend. The user just downloads a bunch of static files that execute in their browser. But for a "Contact" form, to deal with the submissions we typically need a backend service, either self hosted or a third a third-party service.

JS 本地数据存储之 cookie

JavaScript Notes / Web Notes

2018.03.09

JS 本地数据存储之 cookie

本来只是想简单看看 cookie、localStorage 和 sessionStorage 的,没想到一搜索扩展了很多知识,但是,中心主题还是集中在 web storage (localStorage, sessionStorage) 的认识上,以及怎么使用它们。不过,在此之前,先来简单认识一下 cookie 吧。