blog
blog copied to clipboard
博客,积累与沉淀
1. Object.prototype.hasOwnProperty() 2. Object.prototype.propertyIsEnumerable() 3. Object.prototype.toString() 4. Object.prototype.toLocaleString() 5. Object.prototype.isPrototypeOf() 6. Object.prototype.valueOf() > https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object
semver
## 语义化版本控制规范 > SemVer: Semantic Version, 语义化版本 - 规范版本号的格式,来约束版本号的配置和增长 - 实现版本号的解析和比较,eg. ^ ~ >= >
Object
> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object ## 1. Object.keys() 返回:新的字符串数组 - 由可枚举属性组成 - 属性的顺序同使用`for-in` ```javascript const arr = ['an', 'jia', 'zora']; console.log(Object.keys(arr)); // ["0", "1", "2"] const obj = { 0: 'an', 1: 'jia',...
> immutable 不可变的 > immutability 不变性 > mutating data 变异数据 编写 immutable 的 JS 代码,是个比较好的实践。已经有库 [Immutable.js](https://github.com/facebook/immutable-js) 可以帮我们实现这个特性了。这篇博客来聊下,在 ES6+ 里如何使用 Immutable 特性。 ## 问题 为什么 immutability 很重要?因为,变异数据会让代码不易阅读,也容易引入bug。 对于基本类型(比如 number 和 string),书写...
数组遍历
- 遍历数组 - `for` 最古老的循环,效率高。_处理大量循环的时_ - `for-of` 只遍历对象上的,ES6 - `forEach` 数组内部的方法。_稀疏数组_ - `for-in` 会遍历继承链的对象属性。_遍历对象的属性,仅可枚举类型_ - 其它 - `map` 产生新数组。_数组的每项经过计算,产生的新值_ - `filter` 产生新数组。_返回 true 的值_ - `reduce` 返回值。_前项加后项,累计计算最终值_ - `every` 布尔值。_遇到返回...
## Servo 的 style 系统 > - [style 的文档](http://doc.servo.org/style/index.html) > - [style 概况](https://github.com/servo/servo/wiki/Styling-overview):是 Boris Zbarsky 和 Patrick Walton 之间的对话,关于style 如何共享 1. selector 的实现 - style 系统通用了很多东西,为了能和 Servo 的 layout 系统、[Stylo](https://wiki.mozilla.org/Quantum/Stylo)...
Rust
## 快速入门 ```shell $ vim main.rs # 新建文件 $ rustc main.rs # 编译 $ ls main.rs # 源文件 main # 可执行文件 $ ./main # 执行 Hello, world! ``` - 入口`main`函数,它是每个可执行的...
Cargo
## 概述 Cargo 做了4件事情: 1. 引入两个包含项目的各种信息元数据文件 2. 拉取、构建项目的依赖(默认从[crates.io](https://crates.io/)上拉) 3. 构建项目,使用正确的参数调用`rustc`或其它构建工具 4. 生成约定俗成的文件目录,以便轻松入门 Rust 项目 ```shell cargo new hello_test --bin # --bin 意思是 binary,即二进制项目,比如库文件 cd hello_test tree . cargo build #...
# style - 从DOM树和样式表集合中,计算 [specified](https://drafts.csswg.org/css-cascade/#specified) 和 [computed values](https://drafts.csswg.org/css-cascade/#computed) - 具体说,这个库包含属性的定义,以及将属性解析为 specified 值、再根据 specified 值计算 computed 值的相关代码,当然还有序列化 specified 和 computed 值的代码 - 主入口是函数 [`style::traversal::recalc_style_at`](http://doc.servo.org/style/traversal/fn.recalc_style_at.html) - `style::traversal::recalc_style_at` 函数,计算单个节点的样式 - `style::traversal` 模块,遍历DOM树 -...
## 需要安装的软件 以 MAC 为例: 1. [Homebrew](https://brew.sh/) - 一个软件包管理工具,让 Mac 上安装软件变得方便 - 它是将软件安装到自己的目录,然后再软链到 /usr/local 2. Python 和 pip - 若是用 `brew install python` 安装的 python,则会自动安装 pip - pip 是 Python...