Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 一.语句的概念:
- 表达式在javascript中是短语,那么语句就是javascript整句或命令。正如英文是用点号作结尾来分隔语句,javascript语句是以分号结束。
- javascript程序无非就是一系列可执行语句的集合。
- 分号 ;
- 分号用于分隔 JavaScript 语句。
- 通常我们在每条可执行的语句结尾添加分号。
- 使用分号的另一用处是在一行中编写多条语句。
- 二:语句分为声明语句,条件语句,循环语句,标签语句
- 1.声明语句:
- var和function都是声明语句,它们声明变量或定义函数。 这些语句定义标识符(变量名和函数名)并给其赋值,这些标识符可以在程序的任何地方使用
- var:
- var语句用来声明一个或者多个变量
- var name_1[=value_1][,...,name_n[=value_n]]
- var i;
- var j=0;
- var i,j;
- ECMAScript的变量是松散类型的,即可以用来保存任何类型的数据(未经初始化的变量,会保存一个特殊值undefined).
- function:
- 关键字function用来定义函数。两种定义方式:
- (1)var f = function(x){ return x+1;}//将表达式赋值给一个变量
- (2)function f(x){ return x+1;} //含有变量名的语句
- 2.条件语句:
- if:
- if语句是一种基本的控制语句,它让javascript程序可以选择执行路径,更准确的说,就是有条件的执行语句。
- if(expression)
- statement
- 如果计算结果为真值,那么执行statement。如果是假值就不执行statement
- eg:var username
- if(username==null)
- username="John"
- javascript语法规定,if关键字和带圆括号的表达式之后必须跟随一条语句,但可以使用语句块将多条语句合并成一条。
- else:
- if语句的第二种形式引入了else从句,当expression的值是false的时候执行else中的逻辑。其语法如下:
- if(expression)
- statement1
- else
- statement2
- expression为真执行statement1,当expression为假值得时候执行statement2
- eg:if(n==1)
- console.log(“you have 1 new message”);
- else
- console.log(“you hava many new message”);
- else if:
- if/else语句通过判断一个表达式的计算结果来选择执行两条分支中的一条。但当代码中有多条分支的时候该怎么办呢?一种解决办法是使用else if 语句。
- if(n==1){
- //代码块
- }else if(n==2){
- //...
- }...
- switch:
- 定义:使用 switch 语句来选择要执行的多个代码块之一。
- if语句在程序执行过程中创建一条分支,并且可以使用else if 来处理多条分支。然而,当所有的分支都依赖于同一个表达式的值时,else if 并不是最佳解决方案。
- switch语句正适合处理这种情况。关键字switch之后紧跟着圆括号括起来的一个表达式,随后是一对花括号括起来的代码块;
- switch(expression){
- statements
- }
- switch语句的完整语法要比这复杂一些。代码块中可以使用多个由case关键字标识的代码片段,case之后是一个表达式和一个冒号。
- 3.循环语句:
- for:
- for语句对常用的循环模式做了一些简化。大部分的循环都具有特定的计数器变量。在循环开始之前要初始化这个变量,然后在每次循环执行之前都检测一下它的值。最后计数器变量做自增操作,否则就在循环结束后、下一次判断循环条件前做修改。在这一类循环中,计数器的三个关键操作就是初始化、检测和更新。for语句就将这三步操作明确声明为循环语句的一部分,各自使用一个表达式来表示。
- for语句的语法格式:
- for(initialize;test;increment) statement
- 三个表达式之间用分号隔开,他们分别负责初始化操作、循环条件判断和计数器变量的更新。
- 将它们放在循环的第一行会更容易理解for循环正在做什么,而且也可以防止忘记初始化或者递增计数器变量。
- initialize表达式只在循环开始之前执行一次。每次循环执行之前会执行test表达式,并判断表达式的结果来决定是否执行循环体,如果判断结果为真,则执行statement循环体。最后,执行increment表达式(通常是“++”,“--”构成的表达式)
- eg:打印输出0~9
- break是退出循环,continue是转而执行下一次循环。
- while:
- 基本结构:
- while (条件){
- 需要执行的代码
- }
- (该语句与For 语句一样,当条件为真时,重复循环,否则退出循环。)
- 注意:使用while(true)将会创建一个死循环
- do while:
- 基本格式:
- do{
- 循环体
- }while(逻辑判断)
- do/while循环并不如while循环那么常用。因为那种至少执行一次的循环并不常见
- 区别:do while不管逻辑条件是否满足都会进行循环体一次,而while和for却不会。
- 4.标签语句:
- 语句是可以添加标签的,标签是由语句前的标识符和冒号组成的: Label:statement
- 通过给循环定义一个标签名,可以在循环内部使用break和continue来退出循环或者直接跳到下一个循环的开始。 只有break和continue可以使用语句标签。
- 这里用作标签的Label必须是一个合法的javascript标识符,而并不能使一个保留字。标签的命名空间和变量或者函数的命名空间是不同的,因此可以使用同一个标识符作为语句标签和作为变量名或函数名。
- 一个语句标签不能和它内部的语句标签重名,但在两个代码段不相互嵌套的情况下是可以出现同名的语句标签的。带有标签的语句还可以带有标签,也就是说,任何语句可以有很多个标签。
- return:
- 函数调用是一种表达式,而所有的表达式都有值。函数中的return语句既是指定函数调用后的返回值。这里是return语句的语法:
- return expression;
- 当执行到return语句的时候,函数终止执行,并返回expression的值给调用程序。
- eg: function square(x){retrun x*x;}
- square(2)
- return语句可以单独使用而不必带有expression,这样的话函数也会向调用程序返回undefined。
Add Comment
Please, Sign In to add comment