语句后面要写符号,JS引擎是根据分号来区分每一个语句的。
注:if for switch语句不需要加分号。
错误的2大类:
1、语法错误(syntaxError),特点:整个代码块都不执行; 2、通用错误,特点:程序中断执行; 注:脚本与脚本之间的错误是没有互相影响。
运算符:+ - x / % () =
var a=1,b=2,c=3;
var d=(a+b)*3;
//1、声明变量d
//2、变量a与变量b的值相加的结果,与c相乘得到结果f
//3、将f赋值给d
结论:括号运算符的优先级 > 普通运算符 > 赋值运算符。
加号运算符(+):字符串加 任何数据类型都是字符串拼接。
console.log(1/0);//infinity
console.log(0/1);//0
console.log(0/0);//NAN (not a number) 是Number数据类型
没有中间变量交换值: var a=2; var b=3; a=a+b; b=a-b; a=a-b;
前自增和后自增的区别:var a=2; var c=++a var b=a++; console.log(c,b);
前自增:先相加再赋值,后自增:先赋值后相加。
比较运算符:>,>=,<,<=,==,!=,===(全等) ASCII码:美国信息交换标准代码
var b=4>'5' //false number和string比较:string转number再比较。
var b='3'>'10' //true string和string比较:比较的是同位的ASCII码。
var b=NAN==NAN //NAN 和任何值都不相等
if 和switch 的选择场景: 如果条件是可枚举的,就选择switch,代码直观可读性强;否则选择if
逻辑运算符:&&、||、!
以下的6个值都是false:其他的全部是true:
undefined,null、NAN 、false、0、''
console.log(null||undefined||NaN||false||0||''||'hello world');//hello world
console.log(null||undefined||NaN||1||0||''||'hello world');//1
console.log('2'&&'3'&&undefined);//undefined