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

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

一  选择语句

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

 var age = parseInt(prompt("please enter your age:"));
if(age < 0){
alert("are you sure?");
}else if(age > 120){
alert("you must be dead!");
}else{
alert("you are still alice!");
}

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

  上面的代码含义如下:

    第一行表示接受一个数字并保存在变量age中(现在不必在意parseInt()是什么东东)。

    第二行代码在判断括号内的表达式是否成立,如果成立将执行第三行代码(我觉得他应该不会被执行,嘿嘿),然后准备执行第四行。如果不成立,那么程序将跳过第三行,准备执行第四行。

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

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

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

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

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

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

 var myBirthdayMonth = parseInt(Math.random()*12+1);
switch(myBirthdayMonth){
case 1 : alert("你属鼠的。");
break;
case 2 : alert("你属牛的。");
break;
case 3 : alert("你属虎的。");
break;
//中间还有其他的属相
case 11 : alert("你属狗的。");
break;
default:alert("你属猪的。");
}

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

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

  这里有一个小技巧:如果你希望当匹配到某些值时,返回相同的信息,你可以像这样:

 switch(variable){
case 1:
case 2: alert('something');
break;
case 3:alert('something');
break;
//...
}

二  循环语句

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

  

  1、for循环

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

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

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

  注意:初始化变量理论上可以是任意多个哦,同时循环条件和变量更新也要注意不要忘了其他的变量哦。

  

  2、while循环

 var i = 10;
while(i > 0){
console.log(i);
i--;
}

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

  

  3、do-while循环

 var i = 10;
do{
console.log(i);
i--;
}while(i > 0)

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

三  异常和错误

  

  1、throw

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

 var userNumber = prompt("please enter a number:");
if(isNaN(userNumber)){
throw "this is not a number";
}else{
alert("yes,it is a number");
}

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

  

  2、try-catch

 try{
alertt("hello world");
}catch(err){
console.log(err.message);
}finally{
console.log("eventually I'll be executed");
}

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

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

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

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

  

  3、自定义异常处理

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

 var x = prompt("please enter a number:");
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);
}

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

四   函数

  

  1、函数定义

  函数是一组可以在需要时被执行的语句,是执行特定功能的代码单元。JavaScript中的函数语法:

 var myName = prompt("please enter your name:");
function myFirstFunction(name){
if(name){
alert("hello" + name + ".");
}else{
alert("hello");
}
};
9 myFirstFunction(myName);

  函数使用 function 关键字声明,后面紧跟一对小括号“()”,小括号中可以有0或多个参数,再然后是一对大括号“{}”和里面待执行的代码。

  上面的例子:声明一个全局变量myName,它的值从用户输入获取,function声明一个函数,函数名为myFirstFunction,它接受一个参数,参数名为name,最后执行函数是函数名加一对小括号:myFirstName(),小括号中提供函数声明是需要的一个参数,传参的作用其实就是把该变量的值赋值给参数,这里是把myName的值赋值给name,这样在函数内部就可以使用myName的值而不改变myName的值了。

  函数的另一种声明方式是字面量方式:

 var myFirstFunction = function(){
//some code
};

  需要注意的是:这种方式定义的函数只能在定义它之后调用。而第一种方式,即使把它的定义放在程序末尾,你也可以在程序一开始就调用它。

  

  2、函数返回值

  函数不止可以执行特定代码,还可以返回一些数据,供其他使用。

 function add(a,b){
return a + b;
}
var num = add(10,5);
console.log(num);//

  要想在函数执行完毕后返回一些东西,可以在函数最后使用return关键字,后面跟上待返回的值即可,如果没有指定,那么函数默认会返回undefined。

  上面的例子:声明一个叫做add的函数,需要两个参数a和b,执行函数会返回a加b的和,这里是把函数的返回值赋值给一个变量num。

  

JavaScript之基本语句的更多相关文章

  1. JavaScript If...Else 语句

    JavaScript If...Else 语句 JavaScript的开头和结束标签: <script type="text/javascript"></scri ...

  2. JavaScript的循环语句

    JavaScript的循环语句 1.JavaScript的循环语句 (1)for循环语句 - 循环代码块一定的次数: (2)for/in循环语句 - 循环遍历对象的属性: (3)while循环语句 - ...

  3. JavaScript的条件语句

    JavaScript的条件语句 1.JavaScript的条件语句包括以下几个 (1)if - 只有当指定条件为true时,使用该语句来执行代码: (2)if...else - 当指定条件为true时 ...

  4. JavaScript for...in 语句

    JavaScript for...in 语句 for...in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作). for ... in 循环中的代码每执行一次,就会对数组的元素或者 ...

  5. Javascript学习3 - 语句

    原文:Javascript学习3 - 语句 javascript语句同C/C++语句相似,但也几个特殊的语句,在C/C++中没在碰到,列举在下面. 3.1 for/in 语句     可以用来遍历对象 ...

  6. JavaScript If…Else 语句

    条件语句用于基于不同的条件来执行不同的动作. 条件语句 通常在写代码时,您总是需要为不同的决定来执行不同的动作.您可以在代码中使用条件语句来完成该任务. 在 JavaScript 中,我们可使用以下条 ...

  7. 【详解JavaScript系列】JavaScript之流程语句

    一 开篇概述 本讲主要讲解JavaScript流程语句,其大致内容包括如下: 其中,常用的if,while,do..while,for在本片文章就不论述,重点论述for..in..,label,bre ...

  8. JavaScript if 条件语句

    JavaScript if 条件语句 使用: if(条件){ }else if(条件){ }else if(条件){ }else{ } 示例: // 判断相等 if(1==1){ } // 判断不等 ...

  9. JavaScript case 条件语句

    JavaScript case 条件语句 示例 switch(name){ case '1': age = 123; break; case '2' age = 456; break; default ...

  10. Javascript - 表达式与语句

    表达式与语句(Expression&Statement) 流程控制语句 1.嵌入式语句 嵌入式即这种语句可以无限嵌套N层.所有嵌入式语句只需要键入首个关键单词,在visual studio里按 ...

随机推荐

  1. 渗透之路基础 -- 跨站脚本攻击XSS

    目录 漏洞原理及防御 XSS 原理分析:输出问题导致js代码被识别执行 XSS 技术分类 Cookie盗取 基于Xss的WebShell箱子的攻击 XSS相关防护过滤及绕过分析(参考链接) 防护: 绕 ...

  2. #第 12 篇:解锁博客侧栏,GoGoGo!

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们的博客侧边栏有四项内容:最新文章.归档.分类和标签云.这些内容相对比较固定和独立, ...

  3. JS-对象的深浅拷贝及其新增方法测试

    我们在了解数据类型的时候,都知道一般的字符,数值,undefined和布尔值等都为一般数据类型,它们在进行数据传输的时候,进行的是值传递,当我们修改新数据,是不影响老数据的.但是我们今天要讲的是数据类 ...

  4. vue 自动化路由实现

    1.需求描述 在写vue的项目中,一般情况下我们每添加一个新页面都得添加一个新路由.为此我们在项目中会专门的一个文件夹来管理路由,如下图所示 那么有没有一种方案,能够实现我们在文件夹中新建了一个vue ...

  5. 学生管理系统 Python语言

    def show_student(): print(('*'*20).center(55)) print('1.添加学生信息'.center(50)) print('2.修改学生信息'.center( ...

  6. ValueError: Error when checking input: expected input_1 to have 2 dimensions, but got array with shape (100, 100, 100, 3)

    报错 Traceback (most recent call last): File "D:/PyCharm 5.0.3/WorkSpace/3.Keras/1.Sequential与Mod ...

  7. CodeForces-768B-Code For 1+DFS类似线段树思想

    Code For 1 题意:对于一个n,可以将它分解为n/2,n%2,n/2三个数字,重复上述操作知道虽有值为1或0为止: 求L---R区间数列的和: 思路:首先画着画着可以发现这是一个类似线段数的结 ...

  8. 在CMD命令行进入和退出Python程序

    进入: 直接输入python即可 退出: 方法一:输入exit(),回车 方法二:输入quit(),回车 方法三:CTRL + Z,回车

  9. 漫谈Spring Security 在Spring Boot 2.x endpoints中的应用(一)

    Spring Boot 2.x极大简化了默认的安全配置,并不是说有很多安全相关的配置,现在你只需要提供一个WebSecurityConfigurerAdapter继承类这样一个简单的操作,Spring ...

  10. 你该用HTTP2了

    更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. HTTP版本简史 HTTP/0.9: (1991年)基于GET请求的文本传输协议 HTTPS: (1994年)安全的 ...