1.变量与内存
程序在运行的时候,它的指令和变量是存放在计算机内存里的。我们可以把计算机内存想象成一本巨大的笔记本,因而当我们通过 var
声明了一个变量,就相当于告诉 JavaScript 让它想办法从这本笔记本中找到一处可以写作的地方,并且在那个地方放置一个书签(变量名),以便我们在需要的时候可以迅速的通过书签找到那个地方,而 JavaScript 的垃圾回收机制会自动的在我们不需要这个书签的时候默默的把那个地方还原为可以写作的状态,防止笔记本被写满。
2.虽然 JavaScript 并不介意我们在声明字符串的时候使用的是 ‘
还是 "
。但是我们人类往往是介意的,时而用 ‘
时而用 "
总归会让代码看起来不那么工整,所以往后的实例代码中会优先使用 ‘
, 而 "
只有在内容中出现 ‘
的时候使用`。
3.字符串切片slice:字符串.slice(开始的索引, 结束的索引);
在
slice
方法中我们可以省略第二个参数「结束的索引」,那么此时它的行为就变成,获取从「开始的索引」开始一直到字符串结束之前的内容。
4.字符串的indexOf
方法可以获取其中成员的索引。
例如
var str = ‘满脑子都是孩子哭了笑了‘;
var index1 = str.indexOf(‘脑‘);
console.log(index1); // 1
5.逻辑操作符优先级。
或(||)<与(&&)<非(!)
6.逻辑等价(===)
逻辑不等价(!==)
7.同时 JavaScript 还提供了模糊的逻辑等价操作符 ==
以及模糊的逻辑不等价操作符 !=
,它们的用法和===
、!==
相同,但这两个操作符经常会导致非预期的结果,被许多开发者诟病,除非你非常有把握,否则不推荐使用 ==
或者 !=。
8.总体来说比较操作符的优先级高于逻辑操作符,总结如下表:
操作符类型 | 操作符优先级 |
括号 | () |
逻辑非 | ! |
关系操作符 | < <= > >= |
逻辑等价 | == != === !== |
逻辑与 | && |
逻辑或 | || |
9.常用布尔隐形转换。
数据类型 | 转化为 true | 转化为 false |
数字 | 任何非零数字 | 0 和 NaN |
字符串 | 非空字符串 | 空字符串 |
数组 | 总是 | 无 |
对象 | 总是 | 无 |
undefined | 无 | 总是 |
null | 无 | 总是 |
10.