语法
- 通用错误
- 执行到当前错误的时候才不会向下执行
语法错误
- 代码块代码不会执行
/************************************************/
//此时出现的是 通用错误 引用错误
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;//4
b=a-b;//1
a=a-b;//3
/************************************************/
//关于a++ a-- --a a--的算法
// 表达式都是从左到右的开始计算
var a = 5,
b;
b = a++ + 1; =>1 + a++ //第一种情况 a=6,b=6
b = ++a + 1;//相当于a先进行了自加 然后再加1; //第二种情况 a=6,b=7
b = a-- + a++;//相当于a =>4 + a++ // b=8,a=5
b = a-- + a-- =>4 + a++ // b=8,a=3
b = --a + --a =>4+3// b=7,a=3
b = --a + a++; 4+4++//b=8,a=5