02-语法、规范、错误、运算符、判断分支、注释

一、书写的语法规范

1、养成良好的习惯,语句结尾写分号。除了一下if、for、switch、function等不需要写,其他都写上。

2、符号两头都需要加上空格!如var a = b + c;

二、错误

1、语法错误,全部代码都不会执行。

2、引用错误,中断执行,错误后面的代码都不执行。

3、脚本块与脚本块之间的错误是不会互相影响的。

注:后面会系统将错误。此处大概了解一下即可。

三、运算符

1、基本的+-*/%()就不说了

2、关于+号运算符

1、任意数据类型的值字符串相加都会变成字符串,

如 '123' + false = '123false'、'123' + undefined = '123undefined'

2、运算按照常规自左向右加。如 'str' + 1 + 1 = 'str11'; 1 + 1 + 'str' + (1 + 1) = '2str2'

3、关于/号

正常的除法就不多说了。

1、特殊的 0 / 0 = NaN。Not a Number.

2、NaN的数据类型为Number

3、1 / 0 = Infinity。数据类型为Number。

4、-1 / 0 = -Infinity。数据类型为Number。

四、关于如何交换值

1、使用中转变量

var a = 1,

b = 2;

var c = a;

a = b;

b = c;

2、镜像置换法(不用声明新的变量)

var a = 1,

b = 2;

a = a + b;

b = a - b;

a = a - b;

五、关于自增自减运算符

++、--都是比较简单的。我们只需要记住,符号在前面,那么就是先运算后操作符号在后面,就是先操作后运算。

如 var a = 1;

console.log(++a); // 先运算,后操作 --> 2

console.log(a--); // 先操作,后运算 --> 2

难题1:

var a = 5, b;

b = a-- + --a;

console.log(a, b)

注意这道题,一个在前自减一个后自减,因为后自减先不算,直接取值,但是!这里不是直接取5,因为后边有一个--a,这个是先对a进行运算,所以a的值就变为4了。所以b = 4 + 4 = 8;注意不是 5 + 4 = 9哈。

难题2:

var a = 5, b;

b = --a + --a;

console.log(a, b)

这道题又是一个坑。a最后肯定是3毫无疑问。但是b呢?b的值为7。因为两个--是各自独立的。第一个--a时,a = 4,第二个--a时,a=3;4 + 3 = 7;

六、关于比较运算符

<、>、>=、<=、==、===、!=、!==

难点:

1、数字与数字字符串相比,字符串转化为数字在进行比较

如 1 < '12' ===> true,因为'12'会转化为数字在进行数字间的比较。

2、数字与不是数字的字符串相比,则都为false

如 1 < 'ac' 或者 1 > 'ac' ,都是false

3、字符串之间的比较,按每个字符位置进行对比

如 'ab' > 'bcd' ===> 先使用左边字符串'ab'中的'a'的ASCII码右边字符串'bcd'中的'b'的ASCII码进行比较,发现'b'的ASCII比'a'的ASCII大,则得出结果false。如果两个ASCII一样,则继续往下一个字符对比。

4、关于==与===的区别

值比较值是不是相等,而不关心其数据类型。如null == undefined是true

而===的意思是全等,即数据类型与值都必须得相等才能为true

5、关于NaN

NaN是唯一一个与包括自己在内的任何东西都不相等的值。

如NaN === NaN、NaN ==NaN都是false。

七、条件判断

if...else if...else

switch

什么时候用if,什么时候用switch?

1、一般来说,判断某一个范围的,比如成绩范围,用if合适;

2、如果是定值的,用switch合适,因为switch是匹配相同的值,比如给定某个城市查询平均薪资。

八、逻辑运算符

1、为假的几个值

undefined、null、NaN、""、0、false

除了上面6个值,其他值全部都是真

2、&& 与 || 的规律(重要)

1. &&

遇到真就往后走,遇到或者走到最后返回当前的值(注意是返回当前的值,而不是返回true/false)。一假则假的道理。

1 && 1 返回1 真

1 && 0 返回0 假

0 && 1 返回0 假

0 && 0 返回0 假

2. ||

遇到假就往后走,遇到或者走到最后就返回当前的值(注意是返回当前的值,而不是返回true/false)。一真则真的道理。

1 || 1 返回1 真

1 || 0 返回1 真

0 || 1 返回1 真

0 || 0 返回0 假

3、取反!

取反返回的结果是布尔值,如!2 == false;

九、注释

1、行注释 //

2、块注释 (注意块注释每行的开头都要星号*,养成习惯)

/*

*

*/

上一篇:在JavaScript中启用/禁用ASP验证控件


下一篇:package validation