# HTML and JavaScript resource collection
**Repository Path**: zenny-chen/html-and-java-script-resource-collection
## Basic Information
- **Project Name**: HTML and JavaScript resource collection
- **Description**: 我的HTTP、HTML5与JavaScript技术资料的收藏
- **Primary Language**: Unknown
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2020-08-30
- **Last Updated**: 2023-03-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# HTML and JavaScript resource collection
我的HTTP、HTML5与JavaScript技术资料的收藏
- [React Native 学习整理(包含ES6语法介绍)](https://www.kancloud.cn/guif_zhang/rn/451962)
- [JavaScript ES6新特性概览](http://www.cnblogs.com/Wayou/p/es6_new_features.html)
- [30分钟掌握ES6/ES2015核心内容](https://www.toutiao.com/a6707856897069810184)
- [详解 ES 2018 新特性](https://www.toutiao.com/i6720746123973100040)
- [前端开发必备 - ECMAScript2018 新特性汇总,你还不会ES9吗?](https://www.toutiao.com/a6733186476349063684/)
- [JavaScript: What’s new in ES 2019](https://blog.tildeloop.com/posts/javascript-what’s-new-in-es2019)
- [JavaScript ES10的13个新特性示例](https://www.toutiao.com/a6739397212779840004)
- [ES8、ES9和ES10新特征梳理](https://www.toutiao.com/i6675510537394061835/)
- [ECMAScript新特性@22/01/05](https://www.toutiao.com/i7049702380073697831/)
- [了解ES6-ES12的特性](https://www.toutiao.com/article/7082897184454083072/)
- [JavaScript Use Strict](https://www.w3school.com.cn/js/js_strict.asp)
- [你真的懂Javascript的let/const/var吗?](https://www.toutiao.com/i6507397358723006989/)
- [es6中class类静态方法,静态属性理解,实例属性,实例方法理解](https://blog.csdn.net/qdmoment/article/details/82496685)
- [js中ES6的Set的基本用法](https://www.cnblogs.com/wjcoding/p/11690886.html)
- [js 判断变量类型(完整版),包括ES6 新类型Symbol](https://blog.csdn.net/Altaba/article/details/80405944)
- [深入理解javascript之typeof和instanceof](https://blog.csdn.net/mevicky/article/details/50353881)
- [JavaScript 中undefined与null的区别分析](https://www.toutiao.com/a6717529568934101517)
- [变量的扩展与解构(ES6)](https://www.toutiao.com/i6721498381803323907/)
- [Promise](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise)
- [箭头函数](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions)
- [理解 JavaScript ES6中的 for…of 循环](http://blog.csdn.net/jasonzds/article/details/78366625?locationNum=6&fps=1)
- [JavaScript 在代码中消灭 for 循环](https://www.toutiao.com/i6718992291366699528/)
- [JavaScript之如何求数组的最大值和最小值](https://www.toutiao.com/a6724951771917058568)
- [w3school JavaScript 高级教程](http://www.w3school.com.cn/js/index_pro.asp)
- [JavaScript API](http://www.javascripture.com)
- [HTML标签](http://www.w3school.com.cn/tags/tag_html.asp)
- [10个好用的 HTML5 特性](https://www.toutiao.com/i6881415639852909063/)
- [Javascript中的== 和 === 浅析](http://blog.csdn.net/csdnMrY/article/details/78342326)
- [Javascript中的delete](https://www.cnblogs.com/tylerdonet/p/4890939.html)
- [JavaScript函数的原型链结构分析](https://www.toutiao.com/i6554161958382207501)
- [JavaScript 常见 6 种继承方式,看看你会几种?](https://www.toutiao.com/a6710409815899767299)
- [JavaScript的发现与理解](https://www.jianshu.com/p/8cb0f25bc746)
- [块级作用域 -- ECMAScript 6 学习](http://blog.csdn.net/bifjhh_sk/article/details/79340444)
- [「ES6基础」Symbol介绍:独一无二的值](https://www.toutiao.com/a6732269850283999748/)
- [「ES6基础」生成器(Generator)](https://www.toutiao.com/a6712984431553937934/)
- [前端架构师之路:ES6中的生成器函数是什么?](https://www.toutiao.com/i6998887328270025247/)
- [ES6新特性之Reflect](https://www.toutiao.com/a6726748044210995715)
- [彻底搞清楚javascript中的require、import和export](https://www.toutiao.com/a6687574679806280195)
- [JavaScript基础:如何让(a == 1&&a == 2&&a == 3)的值为true?](https://www.toutiao.com/i6695747520343048712)
- [JavaScript基础:如何衡量一个人的 JavaScript 水平?常见10种函数](https://www.toutiao.com/i6696293991266124302)
- [var now = +new Date(); 请问这里为什么要有个加号?](https://www.toutiao.com/a6719280828267889155)
- [DOM操作成本到底高在哪儿?](https://segmentfault.com/a/1190000014070240)
- [了解 JS 的加载顺序和方式,实现 Ready 方法](https://ichochy.com/posts/20200807/)
- [利用Safari调试App的WebView界面](http://blog.csdn.net/u010046748/article/details/52981074)
- [用canvas画太极图(一步步详解附带源代码)](https://www.toutiao.com/a6871618353572610563/)
- [GPU FOR THE WEB COMMUNITY GROUP](https://www.w3.org/community/gpu/)
- [JavaScript ECMA-262 specification](http://www.ecma-international.org/publications/standards/Ecma-262.htm)
- [史上最全最常用的正则表达式-(基本够用值得收藏)](https://blog.csdn.net/prophet_007/article/details/25616385)
- [node.js文档](https://nodejs.org/dist/latest-v8.x/docs/api/)
- [node.js基于N-API调用C函数](http://cnodejs.org/topic/59f32ddd1b399c2f3ff9f613)
- [GYP简介](http://blog.xiaogaozi.org/2011/10/29/introduction-to-gyp/)
- [JS十种经典排序算法,纯动画演示,学会了怼死面试官!](https://www.toutiao.com/i6631361236942455303)
- [大神赞过的:学习 WebAssembly 汇编语言程序设计](https://www.toutiao.com/i7070045207714218537/)
- [前端程序员必学的CSS变量知识](https://www.toutiao.com/a6671488828957524493)
- [前端比较实用的 CSS3 技巧,总有一个是你需要的!](https://www.toutiao.com/a6671475180818137614)
- [CSS3动画完成水波纹loading动画](https://www.toutiao.com/i6725189279980503564/)
- [CSS3如何实现一个 3D 效果的魔方](https://www.toutiao.com/a6868451637766128132/)
- [css-画一个3D地球](https://www.toutiao.com/a6873389856504939015/)
- [CSS仅需 2 行代码,即可实现一个立体正方形背景](https://www.toutiao.com/w/1731681657187343/)
- [web前端入门到实战:彻底掌握css动画「animation」](https://www.toutiao.com/a6753231741239951875/)
- [Web中的图像技术全面总结,长文干货!](https://www.toutiao.com/a6815574734546141700/)
- [正则表达式真的很骚,可惜你不会写!](https://www.toutiao.com/a6678604392393867787)
- [正则表达式:(?=a)是什么意思?说说前端常用到的正则表达式](https://www.toutiao.com/i6696132898023539207)
- [你知道websocket吗?](https://www.toutiao.com/a6678838791072907789)
- [每一个Web开发者需要掌握的HTTP缓存知识](https://www.toutiao.com/a6680079212524601864/)
- [网站不让你复制文字?别着急,这串代码1秒解除限制](https://www.toutiao.com/a6703815823682699787)
- [浏览器渲染原理](https://www.jianshu.com/p/76bb929eae01)
- [最全的 Vue 性能优化指南,值得收藏](https://www.toutiao.com/a6763818600655487501/)
- [面向数学应用程序的Web应用显示引擎——MathJax](https://www.toutiao.com/a6751722358014214660/)
- [YAML入门教程](https://www.toutiao.com/i6779834342379094536/)
- [带你揭开BFC神秘的面纱](https://www.toutiao.com/a6852210308405002766/)
- [你怎么可以不了解AST呢?](https://www.toutiao.com/i6984697232280781319/)
在Node.js下执行指定js文件的脚本,在命令行使用:node <文件名> 即可。
如果需要在Node.js下调用C函数,则需要使用node-gyp,安装方式为:**`sudo npm install node-gyp -g --python=python2.7`**。
## JavaScript ES6 中新增的Lambda表达式
JavaScript中的Lambda表达式的表达方式既简洁又灵活。其完整的表达语法为:
```javascript
(<形参列表>) => { 函数体 }
```
如果形参列表只含有一个参数,那么圆括号可省,除此之外,倘若形参列表没有参数或多于一个参数的情况下,我们都要保留圆括号。如果函数体就只有一条表达式,那么包围它的花括号可省,直接表示`return` *表达式*。下面我们来举一些详细的例子来说明Lambda表达式的几种表达方式。
```javascript
function doLambda() {
// 这里lambda表达式的形参只有一个,因此圆括号缺省了,
// 并且函数体就一条返回语句,因此花括号缺省了,并且return也缺省。
let func = value => value + 1;
alert("value = " + func(100));
// 这里lambda表达式只有一个形参,因此圆括号缺省,
// 这里的函数体尽管只有一条语句,我们也能使用花括号,当然缺省也没问题。
func = a => {
alert("a = " + a);
};
func(10);
func = () => {
alert("Hello, world!");
}
func();
func = (a, b) => {
alert("This is a sum function!");
return a + b;
}
const aaa = func(3, 5);
alert("The result is: " + aaa);
}
```
通过以上代码,我们基本对Lambda表达式有了比较清楚的认识。
## JavaScript中的void操作符
JavaScript同C、Java一样,引入了 **`void`** 关键字。不过与C和Java不同的是,在JavaScript标准中没有所谓的void类型,只有 **Undefined** 类型。当然,如果我们将未定义的变量或是没有初始化的变量看作为void类型其实也没毛病,这样的话,void类型的唯一值就是 **`undefined`** 了。
不过在JavaScript中,void主要还是以**操作符**的方式进行使用的。其主要目的是将一个表达式转换为一个返回undefined值的表达式。它有两种表达形式:
void < *表达式* >
void ( < *表达式* > )
当然,为了使我们的代码表达更清晰,笔者更推荐第二种带有圆括号的表达形式。
下面我们来举一些🌰来展示void操作符的用法以及效果。
```javascript
let a = 100;
// 这里value的值为undefined,而a++操作也被执行了
let value = void(a++);
console.log(`a = ${a}, value = ${value}`);
function test(b, c) {
// 这里void中的整个逗号表达式都执行了。
// 由于这里使用了void操作符,因此整个表达式返回的值为undefined,
// 而不是数值类型。
return void (a += b, a += c, a++);
}
value = test(5, 10);
console.log(`a = ${a}, value = ${value}`);
// 这条语句表达的是,如果此时a大于100,那么给value赋值为1;
// 否则value的值依然为undefined。
value = a > 100 ? 1 : void(0);
console.log('value = ' + value);
```
通过上述简短的代码,我们应该对void操作符有了一个比较感性的了解了,在某些情况下,void操作符还是非常实用的。