JavaScript基础
进制
常用进制
-
二进制、八进制、十进制、十六进制
-
颜色一般使用RGBA模式
每个数值范围0~255,A表示透明度
- #FF0000,数值越大颜色越亮,反之则暗
运算符
位运算符
-
作用:代码不易被人看懂
-
& 位与运算
运算规则,数字转为二进制,高位不足用0补齐,逐为进行与运算
- 任何数(同次幂)与二的n次幂减一(7,15……)相与都是该数本身
- 高次幂只考虑剩余几位,例如:37&7=(32+5)&7=5&7
| 位或运算
- 任何数(同次幂)与二的n次幂减一(7,15……)相或都是该二的n次幂减一
^ 位异或运算
- 每位不同为1,相同为0
~ 位非运算
- 加1取负
<< 左位移
- 1<<4=16
右位移
三目运算符
-
条件?返回值1:返回值2
判断条件是否成立,如果条件成立返回第一个值 否则返回:后面的第二个值
- 如果表达式的结果转换为布尔值为真时,返回问号后面的值,否则返回冒号后面的值
- 问号前面的内容会自动隐式转换为布尔值
三目运算符比赋值运算(+=)优先级高
当需要返回的是布尔值时,不要使用三目运算符
- 例:var a=3>2 ? true : falase,可直接用var a=3>2;
复杂条件处理尽量也不用三目运算符
运算符优先级
- . [] () 字段访问、数组下标、函数调用以及表达式分组
- ++ – – ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
- / % 乘法、除法、取模
- 加法、减法、字符串连接
流程控制语句
条件语句
-
if
if(条件){
执行语句
}如果条件表达式运算后隐式转换为布尔值是true,进入该条件语句
- 条件不管什么表达式都会隐式转换为布尔值
- !非 在条件语句中大量用!配合完成不是这种非真进入
- 判断条件不限于ture和false
if……else
if(条件){
执行语句1
}else{
执行语句2
}
如果条件表达式运算后隐式转换为布尔值是true,进入执行语句1
if……else if……
if(条件1){
执行语句1
}else if(条件2){
执行语句2
}else if(条件3){
执行语句3
}else{
执行语句、……
}
与
if(条件1){执行语句1 }
if(条件2){执行语句2 }
if(条件3){执行语句3}
不同之处:
if……else if……仅执行其中一个条件结果
if逐个条件都会判断,根据判断结果执行对应的内容
switch……case
switch(表达式){
case 值1:
执行语句; break;
case 值2:
执行语句; break;
case 值3:
执行语句; break;
case 值4:
执行语句; break;
default:
}
当表达式绝对等于(三个等号)值时,执行相应内容
循环语句
-
while
while(循环条件){
循环语句;
}使用while 广度遍历,深度遍历
深度遍历时,要求对象属性名相同。属性名不同时,用数组遍历名称。
关键字
-
break
跳出(结束循环)
- 如果没有引用,只能用于跳出一个循环
- abc(循环前增加ID): Break abc; 跳出锚点所在的循环(跳出到指定的ID位置)
continue
- 继续(结束本次循环)
XMind: ZEN – Trial Version