四大运算,力能扛鼎,再熟悉不过了。
加+
减-
乘*
除/
虽然很常见,但是用的并没有那么多
取余%
取反-
取正+
取正反还可以用来转数字类型的原始值的
+true // 1
-true // -1
+null // 0
-null // -0
+undefined // NaN
-undefined // NaN
还有一些字符将被转为数字类型
+'0123' // 123
但是这样的就只能是NaN了
+'a123' // NaN
- 二进制玄学,表达了最根本的计算机的运算本质。
与&
或|
非~
异或^
- 逻辑取反
!
虽然和-
一样,都是取反,但是人家是逻辑上的。
!true // false
- 与,或,短路与,短路或。
&
|
,&&
||
前两个看起来在二进制出现了,但是符号就是符号,逻辑判断一样用得到。通常我们还是选择后面一对组合。
&&
一假则假
||
一真则真
示例:
var a = false;
var b = true;
var c = true;
var d = false;
a && b && c // false
a || b || c // true
b && c // true
a || d // false
- 不过比较什么还不能落下
6.1 关系比较
相等==
不等!=
严格相等===
严格不等!==
逻辑比较会将两侧转为相同类型进行比较,不过 null == undefined 特例返回true
6.2 数学比较
大于>
小于<
大于等于>=
小于等于<=
数学比较会将符号两侧转为数字类型在进行值比较。
所以:
0 == false // true
1 == true // true
0 == undefined // false
0 == null // false
0 >= undefined // false 实际上就是 NaN 与 0 的比较
0>= null // true 实际上就是 0 和 0 的比较
- 注释这种东西,是给写代码的人看的,代码是忽略执行的。行级注释单行,块级注释多行
行级注释//
块级注释/* */
// 这里是行级注释
/*
这里是块级注释
*/
- 最常见的
,
也是最容易被忽视的地方。
var a, b, c;
return 1+1,4;
function add (a, b){}
add(1, 2);
- 最重要
=
,赋值什么少不了
10.当然标识语句结束的;
也不能忽视的
-
(
)
[
]
{
}
三对括号组合,不同的地方就是不同的选择
要记得[]
单个表示数组,{}
连起来表示对象 而()
就没有什么其他了。