语法
- 通用错误
- 执行到当前错误的时候才不会向下执行
语法错误
- 代码块代码不会执行
/************************************************///此时出现的是 通用错误 引用错误var a = 1,b = 2,//此时出现了语法错误,c是不会输出的c = 3;console.log(c);/************************************************///此时出现的是 ReferenceError 引用错误var a = 1,b = 2,c = 3;console.log(a,b,c)console.log(d);//d is not defined,a,b,c可以输出的/************************************************///不同代码块之间的语句是不会相互影响的<script> console.log(a)</script>///此时a is not defined<script> console.log(1)</script> ///此时1 照样输出
运算
- 代码块代码不会执行
运算符 + - * / %
- 注意
- string + 任何类型的数据都是string
- 非数(NaN=>Not a Number) 是Number类型
- Infinity -Infinity 是Number类型(1/0==Infinity,-1/0==-Infinity)
- 交换值:如下代码块(2-7)
- a++ ++a a— —a;//如上代码块(10-17)
- = >= <= <
- 字符串比大小比较ASCII码 “4.5”>”11” “1.5”<”11”从左到右依次对比。
- Number 比大小 直接比
- Number 和字符串比大小 将字符串转成Number 再进行比大小 1>’a’?false 1>NaN
- NaN==NaN false;因为NaN永远不等于任意值(包括他自己)。
- ===全等(比较的是类型和值) ==相等(比较的是值)
/************************************************///交换值,在不声明另外一个变量的前提下交换值var a = 1,b = 3;a=a+b;//4b=a-b;//1a=a-b;//3/************************************************///关于a++ a-- --a a--的算法// 表达式都是从左到右的开始计算var a = 5,b;b = a++ + 1; =>1 + a++ //第一种情况 a=6,b=6b = ++a + 1;//相当于a先进行了自加 然后再加1; //第二种情况 a=6,b=7b = a-- + a++;//相当于a =>4 + a++ // b=8,a=5b = a-- + a-- =>4 + a++ // b=8,a=3b = --a + --a =>4+3// b=7,a=3b = --a + a++; 4+4++//b=8,a=5
