欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript之基本语句

程序员文章站 2022-05-29 10:03:00
写在前面:前面的内容记录了JavaScript的一些基本概念,本次主要讲解一下JS中常用的语句。 和大多数其他编程语言一样,JS也主要包括:选择、循环、错误检测、函数等。JS的语句基本是由值、运算符、表达式、关键字和注释构成,但并不是语句一定包含所有以上要素。 计算机程序一般是指能够被计算机执行的一 ......

写在前面:前面的内容记录了javascript的一些基本概念,本次主要讲解一下js中常用的语句。

  和大多数其他编程语言一样,js也主要包括:选择、循环、错误检测、函数等。js的语句基本是由值、运算符、表达式、关键字和注释构成,但并不是语句一定包含所有以上要素。

  计算机程序一般是指能够被计算机执行的一些列指令的集合。在编程语言中,这些指令被称为语句,javsscript程序就是一系列的javascript语句集合。

一  选择语句

  这里我打算用一个例子来说明,可能会更好理解:

1 var age = parseint(prompt("please enter your age:"));
2 if(age < 0){
3     alert("are you sure?");
4 }else if(age > 120){
5     alert("you must be dead!");
6 }else{
7     alert("you are still alice!");
8 }

  代码说明:if-else语句和其他区大多数编程语句一样。通过判断if后面的括号内的表达式的真假,决定是否执行紧跟其后的大括号内的代码。

  上面的代码含义如下:第一行表示接受一个数字并保存在变量age中(现在不必在一parseint()是什么东东)。

            第二行代码在判断括号内的表达式是否成立,如果成立将执行第三行代码(我觉得他应该不会被执行,嘿嘿),然后

          准备执行第四行。如果不成立,那么程序将跳过第三行,准备执行第四行。

            第三行代码会弹出一个提示框。

            第四行代码和第一行功能类似,判断age是否大与120,如果大于将执行第五行代码,否者将跳过,并准备执行第六行代码。

            第五行代码也是弹出一个提示框。

            第六行表示age即不满足if后面的条件,也不满足else if后面的条件,最终会被执行else后面的代码。

            第七行也是弹出一个提示框。

  如果有很多种情况,那我们岂不是要用很多if-else-if……?那样即难以阅读又难以维护。你当然不用那么做,javascript提供了另外一种选择的方式,请看下面的代码:

 1 var mybirthdaymonth = parseint(math.random()*12+1);
 2 switch(mybirthdaymonth){
 3     case 1 : alert("你属鼠的。");
 4     break;
 5     case 2 : alert("你属牛的。");
 6     break;
 7     case 3 : alert("你属虎的。");
 8     break;
 9     //中间还有其他的属相
10     case 11 : alert("你属狗的。");
11     break;
12     default:alert("你属猪的。");
13 }

  当有多种情况需要判断时,我们可以用switch-case语句。它的执行过程是把switch后括号捏的表达式的值分别依次和下面每一个case后面的值做比较,如果相等则执行该case后面的语句,执行完后若遇到break,则停止执行后面所有的语句(switch后大括号内的),并退出,如果前面所有的case 都无法匹配mybirthdaymonth,那么程序最终将执行default后面的语句。

  上面的例子中我们假定了每个月就有一种属相,第一行代码是随机生成一个1--12的数字充当生日的月份(这里不必在意它是怎么实现的)。

 

二  循环语句

  javascript提供了多种循环语句,for循环,while,do-while。循环即指反复执行某一段代码。

  1、for循环

1 for(var i = 1;i <= 10; i++){
2     console.log(i);
3 }

  说明:var = 1;声明循环控制变量,i <= 10;判断循环条件,i ++更新控制变量(这里是以1为单元递增)。最终输出1-10.

  简单的说以上循环实现的功能是:先初始化一个变量 i,初始值为1,然后判断i的值是否小于或等于10,若是,则执行大括号的代码(这里是在控制带打印出i的值),然后i的值加1,再判断i是否小于或等于10,一直循环到i的值大于10时,程序停止执行。

  2、while循环

1 var i = 10;
2 while(i > 0){
3     console.log(i);
4     i--;
5 }

说明:首先声明一个变量i,while循环执行时会首先判断i > 0是否成立,若成立,则执行大括号内的代码(这里是先在控制台打印i的值,单后把i的值减1),执行完后再判断i > 10是否成立,往复循环,直到表达式不成立。如果一开始表达式就不成立,必须i初始化时是-1,那么大括号内部的代码将永远不会执行。

  3、do-while循环

1 var i = 10;
2 do{
3     console.log(i);
4     i--;
5 }while(i > 0)

  do-while循环和while循环执行过程几乎一样。不同点在于,它会先执行一次大括号内的代码,然后再开始判断。即使是i初始化时的值是-1,也会打印一次i的值,并把i的值减1。

三  异常和错误

  1、throw

  throw 语句抛出一个程序异常。

1 var usernumber = prompt("please enter a number:");
2 if(isnan(usernumber)){
3     throw "this is not a number";
4 }else{
5     alert("yes,it is a number");
6 }

  说明:usernumber接受一个来自用户输入的值,if判断输入值是否是数字,如果不是数字将抛出一个异常“this is not a number”。若是一个数字,将弹出“yes it is a number”。需要注意的是,当执行到throw是,该语句之后若还有其他语句,都将不会被执行。

  2、try-catch

1 try{
2     alertt("hello world");
3 }catch(err){
4     console.log(err.message);
5 }finally{
6     console.log("eventually i'll be executed");
7 }

  try定义了需要被检测的代码块。

  catch定义了当检测到错误是需要被执行的代码,参数就是检测到的错误对象。包含了错的信息,代码等。

  finally定义了无论是否检测到错误都将执行的代码。

  try的好处是即使检测到错误,程序也不会被阻塞,它将继续往下执行。

  3、自定义异常处理

  通过throw和try-catch我们可以轻松自定义错误捕获和异常抛出。

 1 var x = parseint(math.random() * 20);
 2 try{ 
 3     if(x == "")  throw "为空";
 4     if(isnan(x)) throw "不是一个数字";
 5     if(x > 10)   throw "太大了";
 6     if(x < 5)    throw "太小了";
 7 }
 8 catch(err) {
 9     console.log("输入的值 " + err;)
10 }

  throw语句抛出的异常将被当做错误对线传给catch,最后在catch语句中我们可以获取到关于错误的具体情况了(这里是x的范围)。

 

最后:如果大家觉得这里些的不够清楚或有问题,建议大家上w3schoolmdn查看详细教程。