ES6原生模块,引入文件需要加上后缀名。

  1. import './main.js';

字符串中间是不能换行的。

关键点如果要换行需要在行末增加 \,编译器会忽略后面的换行符。

  1. var str = '字符串中间\
  2. 换行需要加斜杠符号';
  3. var addstr = '字符串中间' +
  4. '换行需要加斜杠符号';

浏览器渲染html中的元素,对于元素之间的换行,都是忽略空格的。

这是符合逻辑的,因为html本质上是结构化数据,而不是单纯的文本数据(需要借助空格排版)。但是对于行内元素之间的空格,只保留一个空格,防止浏览器显示行内元素之间的单词时,连在一起。
https://stackoverflow.com/questions/588356/why-does-the-browser-renders-a-newline-as-space


变量需要声明,而属性名不需要

为什么变量和属性名本质上是一样的,都是为了索引实体值,但是属性名不需要声明?
关键点在于作用域。对象首先声明给一个变量,明确作用域,那么对象中的属性就没必要再重复声明。
这一点也是变量和属性的不同点。


函数结构、分支结构

image.png


高阶函数中使用箭头函数和this

//箭头函数本身没有this,所以这里的{a:1}this参数无效。  
const arr = [1, 2]
arr.map(() => {
  console.log(this) //window
},{a: 1})