JavaScript语言基础连连看第二篇—语句和函数基础

一,JavaScript基础语句

1,判断语句

判断语句即条件判断语句,有if、if…else、if…else if、switch等语句。

①if语句

简单的if语句,语句格式如下

if(表达式){
    语句
}

表达式结果为true,执行语句输出结果,结果为false 直接输出结果。
if…else 语句,语法格式如下

if(表达式){
语句1
}
else{
语句2
}

表达式结果为true,执行语句1输出结果,表达式结果为false,执行语句2输出结果。
if…else if 语句,语法格式如下

if(表达式1){
语句1
}
else if(表达式2){
语句2
}
else{
语句3
}

表达式1为真,执行语句1;表达式1为假,判断表达式2,若表达式2为真执行语句2;若表达式2也为假,则执行语句3。
一个简单的例子:

<body>
    <script type="text/javascript">
        var garde='';
        var score=85;
        if(score>=90){
            garde='优秀';
        }
        else if(score>=75){
            garde='良好';
        }
        else if(score>=60){
            garde='及格';
        }
        else garde='不及格';
        alert("张三的成绩是:"+garde);
    </script>
</body>

运行结果:
在这里插入图片描述

2,循环语句

循环语句有while、do…while、for、以及循环语句的嵌套。
while语句的语法格式如下:

while(表达式){
语句}

如果表达式(循环条件)为真,则执行语句(循环体),执行语句后回到表达式继续判断表达式条件并循环这个过程,直到表达式为假,则输出结果。
do…while语句语法格式如下:

do{
语句
}while(表达式);

do…while语句先执行一遍语句(循环体)后判断表达式(循环条件),若表达式为真,则回到循环体再执行一遍循环体,若表达式依旧为真则循环此过程,直到表达式为假,输出结果。
for语句语法格式如下:

for(初始表达式;条件表达式;迭代表达式){
语句}

条件表达式为真,执行循环体后改变循环变量值(迭代表达式)继续执行条件表达式,若条件表达式依旧为真,则循环此过程,直到循环变量无法满足条件表达式,即条件表达式为假时结束循环,并输出结果。
上例子:

<body>
    <script type="text/javascript">
        var i=0,sum=0;
        for(i=1;i<100;i++)
            if(i%2!=0)
                sum+=i;
        document.write("100以内所有奇数的和为:"+sum);
    </script>
</body>

运行结果:在这里插入图片描述
循环语句之间可以进行嵌套,在一个循环里嵌套另一个循环,就可以实现循环嵌套,例如九九乘法表。

<body>
    <h1>九九乘法表</h1>
    <script type="text/javascript">
        var i,j;
        for(i=1;i<10;i++){
            for(j=1;j<=i;j++)
            document.write(j+"*"+i+"="+j*i+"&nbsp;&nbsp;
");
        document.write("<br>")
        }
    </script>
</body>

其中&nbsp为空格转义字符
运行结果:在这里插入图片描述
另有两个循环控制语句break和continue
continue用于跳出本次循环并开始执行下一次循环,语法格式为
continue;
break用于跳出循环并开始执行下一部分语句,语法格式为
break;

3,异常处理语句

JavaScript中的异常处理语句是从Java中移植进来的,其作用是处理程序中出现的莫名其妙的错误。

①try…catch…finally语句

语法格式为

try{
    somstatements;
}
catch(exception){
    somesstatements;
}
finally{
    somestatements;
}
  • try 尝试执行代码的关键字
  • catch 捕捉异常的关键字
  • finally 最终一定会被处理的代码的关键字,该关键字和后面大括号中语句可以省略。
    例如当程序中出现错误方法名时,catch区域将弹出异常提示,并最终弹出finally区域的信息提示。
<body>
    <script type="text/javascript">
        var str="hello javascript";
        try{
            document.write(str.charat(3));
        }
        catch(exception){
            alert("运行时有异常发生");
        }
        finally{
            alert("结束try...catch...finally语句");
        }
    </script>
</body>

运行结果:
在这里插入图片描述

②Error对象

try…catch…finally语句中catch捕捉的错误对象即为Error对象,当JavaScript代码运行中出现错误或者异常时,就会输出一个Error对象实例来描述错误。
Error对象两个属性:

  • name,表示异常类型的字符串
  • message,表示实际异常信息
<script type="text/javascriot">
	var str="hello javascript";
	try{
	    document.write(str.charat(3));
	}
	catch(exception){
	    alert("实际错误信息为:"+exception.messsage+"\n
	错误类型字符串为"+exception.name);
	}
	finally{
	    alert("结束try...catch...finally语句");
	}
</script>

运行结果为:
在这里插入图片描述

③throw语句

一种情况是JavaScript代码语法没有错误,但错在逻辑,对于这种错误,JavaScript不会显示异常,这时需要创建一个Error对象实例并使用throw来抛出错误。
语句格式:

throw new Error("somestatements");

例如除数不为0:

<body>
    <script type="text/javascript">
        try{
            var num=1/0;
            if(num=="Infinity")
                throw new Error("除数不能为
        }
        catch(e){
            alert(e.message);
        }
    </script>
</body>

运行结果:
在这里插入图片描述

二,函数

函数是可以作为一个逻辑单元的一组JavaScript代码。函数的使用可以提高代码的重用率,使代码更加简洁。

1,函数定义与调用

函数定义:在JavaScript中,可以使用function语句来定义一个函数,关键字是function,语法格式为:

function 函数名([参数1,参数2,......]){
    语句
    [return 返回值]
}
  1. 函数名,函数名必须选中且唯一,命名时必须区分大小写。
  2. 参数,可选,用于指定参数列表,多个参数时中间用逗号隔开,最多不能超过255个参数。
  3. 语句, 必选,函数体内容,即用于实现函数功能的语句。
  4. 返回值,可选,用于返回函数值,返回值可以是常量、变量、表达式。

例如:

function account(price,number)
    var sum=price*number;
    return sum;

函数调用:

①函数的简单调用,

函数名(传递给函数的参数1,传给函数的参数2......);

注意:函数的定义语句一般放在html文件的(head)段中,函数的调用可以放在html文件的任意位置。
例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, 
initial-scale=1.0">
    <title>调用函数</title>
    <script type="text/javascript">
        function OutputImage()
            document.write("<img str='1.jpg'>");
    </script>
</head>
<body>
    <script type="text/javascript">
        OutputImage();

此函数可以用来实现图片输出。

②通过连接调用函数

使用 javascript:函数名() 此格式来调用函数当用户点击连接时即实现了函数的调用,相关函数被执行
语句格式为:

<a href="javasccript:test();">单击连接</a>

③在事件中响应调用函数

用户点击某按钮或某个复选框时触发事件。
使用input type=“button” value=“提交” οnclick="函数名()"调用。

2,函数参数

在定义函数时,将指定函数称为形式参数(形参),将调用时实际传递的值称为实际参数(实参)。定义参数格式为:

function 函数名(形参1,形参2,......){
函数体
}

调用为:

函数名(实参1,实参2,......);

3,函数返回值

函数返回值即函数返回的数据,格式如下

return 表达式;

作用是结束函数,并把后面的表达式的值作为函数返回值。
例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>调用函数</title>
    <script type="text/javascript">
        function price(oprice,number){
            var total = oprice*number;
            return total;
        }

    </script>
</head>
<body>
    <script type="text/javascript">
        alert("总价是"+price(2400,3));
    </script>
</body>

总价是:
在这里插入图片描述

4,嵌套函数

嵌套函数是指在一个函数中使用了其它函数,嵌套函数的使用分为函数的嵌套定义和函数的嵌套调用。

①函数的嵌套定义

即在一个函数中再定义另一函数。语法格式如下

function outf(){
    function inf(x,y){
    	alert(x+y);
    }
    inf(2,3);
}
outf();

执行outf函数然后调用嵌套的inf函数inf(2,3)传递两个参数,计算两数之和并返回结果。

②函数的嵌套调用

在JavaScript中允许在一个函数体中对另一个函数体进行调用,这就是函数的递归调用。

function a(){
	alert("调用函数a");
}
function b(){
	a();
}
b();

在函数b中对函数a进行调用后输出。

5,递归函数

所谓递归调用即自己调用自己的函数调用形式。
格式如下:

function 函数名(参数1){
	if(终止条件) return 常量;
	函数名(参数2);
}

递归调用经典例子为斐波那契数列,注意递归函数必须有一个终止条件结束递归,否则会一直走下去。

6,内置函数

数值处理函数:

函数说明语法格式备注
parseInt()将字符型转为整形parseInt(string,[n]);用于将首位位数字的字符串转换为数字,如果首位不是以数字开头,那么将返回NaN。n指出数据为几进制可省略。
parseFloat()将字符型转为浮点型parseFloat(string);用于将首位位数字的字符串转换为浮点型数字,如果首位不是以数字开头,那么将返回NaN。
isNaN()判断数值是否为NaNisNaN(num);用于验证某值是否为NaN,num为要验证的数字。
isFinite()判断值是否有限isFinite(num);用于判断其参数是否有限。

字符串处理函数:

函数说明格式备注
eval求字符串中表达式的值eval(string);string代指需要计算的字符串,其中含义要计算的表达式或者要执行的语句。
encodeURI将URI字符串进行编码encodeURI(url);
decodeURI对已编码的URI字符串解码decodeURI(url);

注意:URI和URL都可以表示网络资源地址,URI比URL范围大些,但一般情况下URI与URL范围等同。

7,变量的作用域

①变量根据作用范围的不同可分为全局变量和局部变量。

全局变量:定义在所有函数之外的变量,调用函数时无需传参。
局部变量:定义在函数体内的变量,只能在函数内部起作用,函数之外不可调用。

②变量优先级

如果全局变量在函数体内又被定义了一次,则优先执行函数体内的变量。

8,定义函数

①定义函数:

var 变量名=function(参数1,参数2,......){
	函数体
}

②构造函数:

var 变量名 =new Function("参数1","参数2",......"函数体");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值