JavaScript语句与注释
语句注释
- //用于单行注释
- /*用于多行注释*/
- 每行语句以;结束
- console.log、console.info、console.debug、console.warn
赋值语句
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//单行注释
/*
一次性注释多行
可以大块大段注释
复合赋值:-=、+=、*=、/=、<<=、>>=、>>>=
<<:带符号左移
>>:带符号右移
>>>:无符号右移
首尾:先转换为二进制,比如2转为0000...00000010
取反码: 1111...11111101
补码(反码基础上+1): 1111...11111110
*/
var a
var b
var c
var d;var e;var f
</script>
</body>
</html>
![]()
>>>a = 2
2
>>>a << 2
8
>>>-a
-2
>>>-a << 2
-8
>>>-a >> 2
-1
>>>3>>2
0
>>>3>>1
1
>>>3>>0
3
>>>3>>>0
3
>>>3>>>1
1
>>>3>>>2
0
>>>2 << 2
8
>>>8>>>2
2
比较运算符
- 比较运算符:>、<、>=、<=、==、!=、===、!==
- 如果操作数是数值,直接比较,返回true或者false
- 如果操作数都是字符串、则返回字符串的对应编码值
- 如果一个操作数是数值,则将另一个操作数转变为数值进行比较
- 如果有一个值是布尔,先转换为数值在比较
- null与undefined相等
- NaN不等于任何数,包括NaN
- 使用相等比较两个对象时,如果两个对象指向同一个对象则返回ture
- 全等与不等于,比较前不做任何类型转换
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
/* 比较操作符:>,<,>=,<=,==,!=,===,!==:
如果操作数是数值,直接比较,返回true或false
如果操作数都是字符串,则比较字符串对应的字符编码值
如果一个操作数是数值,则将另一个操作数转变为数值进行比较
如果有一个值是布尔值,则先转换为数值再比较
null与undefined相等
NaN不等于任何数,包括NaN
使用相等比较两个对象时,如果两个对象指向同一个对象,返回true
全等与不全等比较前,不做任何类型转换 */
</script>
</body>
</html>
>>>10 > 10
false
>>>10 >= 10
true
>>>10 == 10
true
>>>10 === 10
true
>>>10 !== 10
false
>>>"a" > "b"
false
>>>"a" < "b"
true
>>>"a" >= "b"
false
>>>20 >= "b"
false
>>>"a".charCodeAt()
97
>>>"b".charCodeAt()
98
>>>"abd" >= "abc"
true
>>>"abd" >= "ab"
true
>>>"abd" >= "abe"
false
布尔运算符
- 布尔操作符-逻辑与&&,逻辑或||:
- var res = 操作数1 && 操作数2
- 如果第一个操作数为对象,返回第二个操作数
- 如果第一个操作数是false、null、undefined、NaN、""、0,直接返回第一个操作数
- 短路操作:如果操作数1的布尔值为false,那么不会对操作数2求值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
/* 布尔操作符-逻辑非|:
如果一个操作数是一个对象,则返回false
如果一个操作数是一个空字符串,则返回true
如果操作数是非空字符串,返回false
如果操作数是0,则返回false
如果操作数是任意非0数,返回false
如果操作数是null,NaN,undefined,返回true */
/* 布尔操作符-逻辑与&&:
var res = 操作数1 && 操作数2
如果第一个操作数为对象,返回第二个操作数
如果第一个操作数是false、null、undefined、NaN、""、0,直接返回第一个操作数
短路操作:如果操作数1的布尔值为false,那么不会对操作数2求值 */
a = 10
b = 10
c = 11
a - b && c++
/* 布尔操作符-逻辑或||:
var res = 操作数1 || 操作数2
如果第一个操作数是对象,则返回第一个操作数
如果第一个操作数的求值结果是false,则返回第二个操作数
短路操作:如果操作数1的布尔值是true,则不会对操作数2求值 */
</script>
</body>
</html>