JS基础学习02

7. 数据的类型转换

两种转换方法:隐式转换和强制转换

7.1 转换为string字符串

隐式转换:数据+ ”” 

转换特点:所有类型的数据都能通过这种方法转换为字符串。

强制转换:

1 String(数据) 

转换特点:同隐式转换。

2 数据.toString() 

转换特点:null,undefined无法通过这种方法来转换为字符串,其他数据都能满足。

7.2 转换为number数字类型

隐式转换:

1 +字符串:如果字符串内容为数字则转换为对应数字,如果字符串内容不全为数字,则转换为NaN。

2 +boolean:ture转换为1,false转换为0

3 +null:转换为0

4 +undefined:转换为NaN

强制转换:

1 Number(字符串)

转换特点:同隐式转换方式

2 parseInt()  

转换特点:将字符串中的内容一个一个字符进行转换,如果遇到非数字的字符则结束转换

3 parseFloat() 

转换特点:将字符串中的内容一个一个字符进行转换,如果遇到除数字或小数点以外的字符则结束转换转换

且除字符串以外其他类型的数据都转换为NaN。

7.3 转换为boolean布尔类型

隐式转换: !!数据 

强制转换:Boolean(数据)

转换特点:数据类型转boolean的时候,0、“”、null、undefined、NaN转换为false,其它的都为true;

8. JS中的语言结构

8.1 顺序结构

正常情况下为从上到下的顺序来执行语句

8.2 分支结构

1 if语句

If(判断条件)一般是一个boolean类型的值或是关系表达式或是逻辑表达式{

要执行的代码;

}

执行过程:

执行If语句时先判断条件是否成立,如果成立则执行大括号里的代码,如果条件不成立则直接跳过if,执行if后面的代码。

特点:If语句只能判断一种情况。

2 If..else 语句

If(判断条件) 一般是boolean类型的值或是关系表达式或是逻辑表达式{

要执行的代码;

}else {

要执行的代码;

}

执行过程:

执行if-else语句时先判断条件是否成立,如果条件成立执行if大括号里面的代码,如果判断条件不成立则执行else对应的大括号里面的代码,执行完毕之后直接跳出if-else语句。两种情况肯定会执行其中一个大括号中的代码。

3 三元运算符

结构:表达式1(关系表达式或是逻辑表达式)? 表达式2:表达式3;

如果表达式1成立,则三元运算符返回表达式2的值,如果表达式1不成立,则返回表达式3的值。

此为if-else语句的简化版。

8.3 选择结构

1 if-elseif-else语句

If(判断条件) 一般是boolean类型的值或是关系表达式或是逻辑表达式{

要执行的代码;

}else if(判断条件){

要执行的代码;

}...else {

要执行的代码;

}

执行过程:

执行if-elseif-else语句时先判断if处的条件,如果成立则执行if对应大括号里面的代码,如果条件不成立则依次判断下面else if对应的条件,如果成立则执行else if对应大括号里面的代码,如果都不成立则要看最后有没有else,如果有else,则执行else对应大括号里面的代码,否则退出if-elseif-else语句程序,执行后面的代码。

特点:判断条件多为区间情况。

2 switch-case语句

switch(值)一般是一个变量或是计算后的定值{

case 值1(第一个要比较的值):

要执行的代码;

break;(必须要加break,否则会继续对后面的值进行判断和执行对应代码)

...

default:

要执行的代码;

break;(可以不加)

}

执行过程:

执行switch-case语句时,先计算小括号里的值,然后拿着这个定值依次和大括号中case里面的值进行匹配,如果匹配成功,则执行对应的case中的代码,遇到break直接跳出当前swicth-case结构,如果匹配都不成功,则要看结构是否有default,如果有,则执行default中的代码,遇到break直接跳出结构,如果没有default,则直接跳出swicth-case结构,执行后面的代码。

用于多条件的定值判断 。

注意:case中的值的数据类型一定要与switch小括号中的值的数据类型一致。

if-elseif与switch-case的区别

相同点:都可以实现多分支结构

不同点:

if-else if:多用来处理区间范围

switch-case:一般只能用于定值比较

三者的区别:

if有条件的执行一条语句     一种情况

if-else有条件的执行一条或另一条语句    两种情况中的一种


switch-case有条件的执行一组语句中的一条语句   多种情况中的一种

8.4 循环结构

循环:所谓循环就是重复的做同一件事情

1 while 循环语句

while(循环条件){

    循环体(当循环条件成立时要执行的代码);

}

执行过程:

执行while语句时,先判断循环条件是否成立,如果成立则进入大括号执行里面的循环体,执行完毕之后,再次判断循环条件是否成立,如果成立则再次进入大括号执行里面的循环体,循环往复。

注意:只要是循环,肯定会有一行代码能够改变循环条件,如果没有代码改变循环条件,我们称这样的循环叫死循环。

2 do-while语句

Do{

循环体;

} while(循环条件)

执行过程:

执行do-while语句时,先进入大括号执行里面的循环体,然后带着执行结果,再判断循环条件是否成立,如果成立则再次进入大括号执行里面的循环体,如果不成立,则跳出当前do-while循环。

特点,do-while这个循环结构,至少会执行一次,while循环结构,有可能一次都不执行

3 for语句

一般多用于已知次数的循环

for ( 初始值 ;  循环条件 ;  初始值自增(自减)的步长) {

循环体

}

执行过程:

执行for语句时,先声明变量,并赋初值,然后判断循环条件是否成立,如果条件成立则进入大括号执行里面的循环体,第一次循环的时候,初始值不进行自增或自减,第一次循环执行完毕之后,初始值进行自增或者自减,改变循环条件,然后再判断循环条件是否成立,如果成立,则再次执行循环体,如果不成立,则跳出循环。

4 for-in

还未学习到,后面进行补充。

注意:所有小括号中的判断条件或者循环条件(除switch)如果不是boolean类型的值,也不是关系表达式也不是逻辑表达式的时候,小括号会对数据隐式的调用Boolean(),将数据转换为boolean类型的值。

原文地址:https://www.cnblogs.com/chendu/p/5716428.html