原创 《JavaScript高級程序設計》學習筆記7:確定的東西、上下文

函數的參數是按值傳遞還是按引用傳遞,這個問題是經常被討論的。 ECMAScript中所有函數的參數都是按值傳遞的。 個人覺得,理解這類問題要抓住變的東西和不變的東西。不變的東西就是確定的規則和語法,比如. ECMAScript變量可能包含

原创 ES6 import/export的靜態性和一一對應關係

這是最近第4篇JavaScript關於模塊導出/導入的文章了。 之所以會對模塊引用產生一些疑問,是因爲剛開始用CommonJS的寫法,即require/module.exports模塊,而現 在改爲用ES6的寫法了,即import/exp

原创 Mac VS Code快捷鍵(外接鍵盤)

1. 多行註釋:Win + / 2. 格式化代碼:Shift + Alt + F

原创 Ubuntu安裝簡單三步

第1步:下載Ubuntu 到https://ubuntu.com/上下載Ubuntu鏡像文件,我下載的是:ubuntu-18.04.4-desktop-amd64.iso。 第2步:製作安裝盤(U盤) 找一個U盤,下載一個製作軟件,我下載

原创 《JavaScript高級程序設計》學習筆記10:再說JSON

之前寫過一篇關於JSON的筆記,現在看來當初根本沒搞清楚什麼是JSON。所以,即使是很簡單的知識,很難一遍學會,需要兩遍,甚至多遍,因爲第一次往往受限於以往的經驗(知識)。 比如,我會迷惑於“JSON對象”和“JavaScript對象”

原创 ES6語法之:變量提升、塊級作用域、六種聲明變量的方法

阮一峯《ECMAScript 6入門》 中“let和const命令”一節中提到了變量提升的概念,這個在《JavaScript高級程序設計》中好像沒有提到。 搜了一下,MDN web docs中提到: 您在ECMAScript 2015

原创 ES6語法之:解構賦值

首先要知道,這個用法有一套提取值的模式。解構就是“按照一定模式,從數組和對象中提取值”。 其次,瞭解一些使用場合,比如下面,一次從對象p取得兩個值。 class Person {     constructor() {        

原创 繼續學習RPC

之前,稍微接觸和學習了一下RPC的概念。 最近,又有了一些認識,記錄一下。 首先,進程間爲什麼需要通信呢? 我做過很長一段時間單進程(多線程)桌面應用的開發,不同的進程一般在不同的機器上,也就是分屬不同的應用程序。應用程序之間(進程之間)

原创 《JavaScript高級程序設計》中的那些「最」,更新...

1. Boolean類型是ECMAScript中使用得最多的一種類型。P26 2. Number類型應該是ECMAScript中最令人關注的數據類型了。P27 3. 一元操作符是ECMAScript中最簡單的操作符。P36 4. 加法和減

原创 《JavaScript高級程序設計》學習筆記4:類型轉換

第3章講了很多類型轉換的內容。 先回憶一下C++這方面的知識。C++是強類型語言,所以寫代碼時,必須選擇一種類型,爲此,《C++ Primer》還給出了「如何選擇類型」的建議,C++中類型轉換的規則就取決於「類型所能表示的值的範圍」,轉換

原创 ES6語法之:異步、Promise

首先,爲什麼要使用異步? 我在一篇文章中看到這樣的說法: 在JavaScript的世界中,所有代碼都是單線程執行的。由於這個“缺陷”,導致JavaScript的所有網絡操作,瀏覽器事件,都必須是異步執行。 說的更詳細點,爲什麼單線程就

原创 鉤子的概念

這裏有個很詳細的教程,大家可以參考。

原创 tesseract編譯成功了

之前,沒有編譯成功,然後放棄了。促使我再次去編譯的原因是,我在Windows server 2008 R2系統上執行命令行時報錯了。 後來發現,其實只要給系統裝幾個升級包就可以了,大家可以參考這裏。 但還是記錄一下編譯的過程: 之前編譯,

原创 ES6語法之:this的由來

今天在看阮一峯《ECMAScript 6入門》“Class的基本用法”這一章時,this關鍵字又引起我的注意,心想,JavaScript中的this和C++中的this一樣嗎? 我們先來看看傳統面嚮對象語言C++中的this: #inc

原创 webpack讓node.js支持import/export寫法

import { EventEmitter } from 'events'; //const EventEmitter = require('events'); class MyEmitter extends EventEmitter