JS入门(二)

时间:2023-06-09 14:59:20

关于运算符:

  js中判断运算符跟数学的运算符基本差不多,就是大于>,小于<,大于等于>=,小于等于<=,等于==,不等于!=,全等于===;可以看出来,跟我们印象中的判断运算符最大的区别就是,在js中等于是用两个等号的,因为在js中一个等于号是属于赋值,两个等于号属于判断等号两边的值是否相等,而三个等号则是判断之类型跟数据类型是否都是相等的。而不等于也不像数学中写的用≠表示,二十用一个感叹号加一个等号来表示判断符两边是否不相等。

  判断运算符说完了之后,就是算数运算符了,这个也跟我们知道的正常的符号差不多,有加号+;减号-,乘号*;除号/;取余%,也就是取余数;还有括号运算();不过严格的来说,括号主要是用来提升运算优先级的。说实在的,运算中这些都算是很简单的,让人头疼的主要还是自增和自减。在js中自增和自减主要分四类:a++;a--;++a;--a;a++和a--有什么区别呢?a++,参与运算的时候,先用自身的原值参与运算,之后再将自身的值加1,而++a,是先将自身的值加1,而后拿着现在加1后的值,再参与运算。这里突出的是参与运算的时候,也就是说,在不参与运算的时候,这两个运算是没有什么区别的。

  再之后,就是逻辑运算符了,在学基础的时候,逻辑运算符算是比较简单的。主要有三个逻辑运算符逻辑或&&;逻辑与||;非!;逻辑或是只有在表达式两边都为true时才为true,而逻辑与则表示只要一个为true则为true,非则是取反的意思,就是!true则为false;

  在js中,还有一个三目运算符,它的语法结构为:

    条件表达式 ?  表达式成立时返回的数据 : 表达式不成立时返回的数据;

JS中的循环:

if-else结构的循环:

if (条件表达式) {

  条件表达式成立的时候执行的代码

} else {

  条件表达式不成立的时候执行的代码

}

执行过程:

  程序首先运行到if处,先进入小括号中,判断条件是否成立,如果成立,也就是小括号里面返回true,则进入大括号执行里面的代码,如果条件不成立,也就是返回false,则执行else后面大括号里的代码。

if  else-if结构的循环

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

  要执行的代码;

}else if(判断条件){

  要执行的代码;

}else if(判断条件){

  要执行的代码;

}...else {

  要执行的代码;

}

执行过程:

  程序首先运行到if处,先进入小括号中,判断条件是否成立,如果成立,也就是小括号里面返回true,则进入大括号执行里面的代码,如果条件不成立,也就是返回false,则依次的判断下面的else if对应的小括号中的条件是否成立,也就是返回true,如果成立则进入对应的大括号里面执行代码,如果都不成立,也就是返回False,则要看最后有没有else,如果有else,则进入else里面的大括号执行里面的代码,否则退出程序,执行后面的代码。if-else大多是用来做区间的判断情况的。

switch-case结构的循环

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

  case 值1:

  要执行的代码;

  break;

  case 值2:

  要执行的代码;

  break;

  case 值3:

  要执行的代码;

  break;

  ...

  default:

  要执行的代码;

  break;

}

执行过程:

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

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

while结构的循环:

while(循环条件){

循环体(要执行的代码);

}

执行过程:

  当程序 运行到while处,首先进入小括号判断循环条件是否成立,如果成立,也就是值为true,则进入大括号执行里面的循环体,执行完毕之后,再次回到小括号中判断 循环条件是否成立,如果成立则再次进入大括号执行里面的循环体,往复循环。只要是循环,肯定会有一行代码能够改变循环条件,如果没有代码改变循环条件,我们称这样的循环叫死循环。

do- while结构的循环:

do{

  循环体;

} while(循环条件)

执行过程:

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

  特点:至少执行一次循环体,然后再判断 循环条件。

for循环

for(表达式1;表达式2;表达式3){

  循环体;

}

执行过程:

  程序运行到for处,进入小括号中,先执行表达式1,声明变量,并赋初值,然后执行表达式2,判断循环条件是否成立,如果条件成立,则进入大括号执行里面的循环体,第一次循环的时候,并不执行表达式3,第一次循环执行完毕之后,执行表达式3,改变循环条件,然后再执行表达式2,判断循环条件是否成立,如果成立,则再次执行循环体,如果不成立,则跳出循环。

break跟continue:

  break有两种用法,第一种是用在swicth-case 用于跳出当前程序。第二种是用在循环当中,一般是用while或是for循环当中,与if搭配使用,作用就是立即跳出当前循环,后面的代码都不再执行。

  continue一般也是用于循环当中,当遇到continue关键字的时候,立马停止本次循环,然后回到循环条件处,判断 循环条件是否成立,如果成立则继续下一次循环,如果不成立,则退出当前循环。continue只结束当前本次循环,continue后面的代码都不再执行。

数组:

  数组就是数据的有序列表。存储的是一组数据,这组数据可以是任意类型,而且数组中的元素可以随时的动态添加。

  数组有两种声明方式:

  var array=new Array();

  var arr=[];

  既然声明了数组,那肯定要给数组来赋值,数组也有两种赋值方式

  1.通过索引来赋值

  arr[0] = 123;

  2.在声明的同时初始化数组数据

  var arr = new Array(1,”123”,true);

  赋好值了之后又该怎么把数组中的元素拿出来呢?就可以用前面提到过的for循环来获取数组中的所有元素。

  for(var i=0;i<arr.length;i++){

    console.log(arr[i]);

  }