Java script ----函数

本文详细介绍了JavaScript中的函数,包括函数的定义、调用、参数、返回值、递归、变量作用域、内置函数以及匿名函数的用法。通过示例展示了如何定义和使用函数,强调了函数在代码复用和组织上的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

---函数---

说明:

函数就是可以作为一个逻辑单元对待的一组JavaScript 代码,使用函数可以使代码更为简洁,提高重要性,如果一段具有特殊功能的程序代码需要在程序中多次使用,就可以把它定义为函数,然后在需要这个功能的地方调用它,这样就不必多次重写这段代码。

 

1.函数的定义和调用

1.函数的调用

使用function语句来定义一个函数,这种形式是由关键字function,函数名加一组参数以及置于大括号中需要执行的一段代码构成。

语法:

<script type="text/javascript">
    function 函数名([参数1,参数2....]){
        语句
        return 返回值
    }
</script>

参数说明:

  • 函数名:必选,用于指定函数名,在同一个页面中,函数名必须是唯一的。并且需要区分大小写。
  • 参数:可选,用于指定参数列表,当使用多个参数的时候,之间要用逗号把隔开。
  • 语句:必选,是函数体,用于实现函数功能的语句。
  • 返回值:可选,用于返回函数的值,返回值可以是任意表达式,变量或者常量。

示列:

<script type="text/javascript">
    function hell(price,number){
        var index=price+number
        return index;
    }
</script>

注意:在一个页面中不能同时定义两个相同的函数名,定义了两个相同的函数名,第二个会覆盖掉第一个。因此在同一个页面中定义的函数名必须是唯一的。(个人感觉函数有栈的特性,第一个函数被压入栈中,接着同名的函数接着被压入栈中,但是调用的时候最后进去的那个所以会被覆盖。后进先出)

2.函数的调用

函数定义后并不会自动执行,要执行一个函数需要在特定的位置调用函数。调用函数的过程就像启动机器一样。机器本身是不会自动工作的,只有按下开关才会启动机器。它才会执行相应的操作。

语法:

<script type="text/javascript">
    函数名(传递给函数的参数1,传递给函数的参数2)
</script>

示列:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        function index(){
            document.write('<img src="lll.jpg">')
        }
    </script>
</head>
<body>
<script type="text/javascript">
    index()
</script>
</body>
</html>

说明:函数的定义语句通常是放在HTML 文档中的<head>段中,而函数的调用语句则是放在HTML文件中的任何位置。

1.1.在事件中调用函数

示列

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        function index(){
            alert('我喜欢python')
        }
    </script>
</head>
<body>
<form action="" method="post" name="fline">
    <input type="button" value="登录" onclick="index()">
</form>

1.2通过链接调用函数

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        function index(){
            alert('我喜欢python')
        }
    </script>
</head>
<body>
<a href="javascript:index()">单击连接</a>

2.函数的参数

在定义函数时候,将指定的参数称为形参,而将调用函数实际传递的值为实参,如果把函数比喻为一台生产的机器,那么运输原材料的通道就可以看成形参,而实际运输的原材料就看成是实参。

语法:

<script type="text/javascript">
    function index(形参1,形参2....){
        函数体
    }
    index(实参1,实参2)
</script>

3.函数的返回值

说明:对于函数的调用,即可以通过参数向函数调用参数,也可以从函数中获得数据,也就是说函数可以返回值。使用return 语句返回函数的值。

语法:

<script type="text/javascript">
    return 表达式
</script>
<script type="text/javascript">
    function index(x,y){
        var z=x*y
        return z
    }
    alert('结果为:'+index(10,20))
</script>

4.函数的镶嵌

说明:

函数的镶嵌是指在函数内部定义其他的函数,例如:在函数内部镶嵌定义另外一个函数

例如:

<script type="text/javascript">
    function index(){
        function index2(x,y){
            alert(x*y)
        }index2(3,4)
    }
    index()
</script>
<script type="text/javascript">
    function index(){
        alert('我喜欢python')
    }
    function index2(){
        index()
    }
    index2()
</script>

总结:

以上是函数的镶嵌和在一个函数中调用另外一个函数。

 

5.递归函数

说明:

所谓递归函数就是函数在自身的函数体内调用自身,使用递归函数时一定要严谨,否则会进入死循环。并且递归函数只能在特定的情况下使用,比如处理阶乘问题。

<script type="text/javascript">
    function index(sum){
        if(sum<=1){
            return 1 // 停止条件
        }else{
            return index(sum-1)*sum
        }
    }alert('结果为:'+index(4))
</script>

在定义递归函数时候有两个必要的条件

  • 包括一个结束的递归条件
  • 包括一个递归调用语句

 

6.变量的作用域

说明:

变量的作用域是指变量在程序中的有效范围,即在有效范围内可以使用该变量,变量的作用取决于该变量是哪一种变量,变量根据作用域的不用可以分为两种,一种为全局变量,一种为局部变量,全局变量是定义在所函数之外的变量,作用范围是该变量定义之后所有代码。局部变量是定义在函数体内的变量,只有在该函数中,且在该变量定义后的代码中,才可以使用这个变量。函数的参数也是局部性的,只在函数的内部起作用,在函数内部如果不使用var关键字将定义的变量为全局变量。

示列:

<script type="text/javascript">
    var a='我是全局变量'
    function f(){
        var b='我是局部变量'
        document.write(a+'<br>')
        document.write(b)
    }
    f()
    document.write(b)   //我访问不到b这个局部变量
</script>

 7.内置函数

一些主要的内置函数

函数说明
parseInt()将字符转换为整型
parseFloat()将字符转换为浮点数shu
isNaN()判断一个数值是否为NaN
ifFiniter()判断一个数值是否有限
eval()求字符串中表达式的值
encodeURI将URI字符集进行编码
decodeURI将编码的URI字符串进行解码

 

 

 

 

 

 

 

 

1.1数值处理函数

parselnt(string,[n])函数

主要将首位为数字的字符串转换为数字,如果不是以数字开头将返回NaN

  • string:需要转换的字符串
  • n:将指定数据是几进制的数据

parseFloat(string)函数

主要将首位为数字的字符串转换为浮点型,如果不是以数字开头将返回NaN

  • string:需要转换为浮点数的值 

isNan()函数

该函数主要检查某个值是否为NaN

isNaN(num)

  • num:为需要验证的数字

说明:

如果参数为NaN则返回True ,如果参数不为NaN则返回 Flase

inFinite(num)函数

  • num:需要验证的数字

说明:

如果参数为有限数字,则返回True如果参数是空或者无穷大,则返回Flase

1.2字符串处理函数

eval(string)函数

该函数的功能是计算字符串表达式的值,并执行其中JavaScript代码

  • string:需要计算的字符串,其中含有要计算的表达式或者要执行的语句。

1.2.1 encodeURI(uri)函数

  • uri需要编码的字符串

1.2.2

decodeURI(url)

  • url:需要解码的URI字符串

 

8.定义匿名函数

1.1.在表达式中定义函数

<script type="text/javascript">
   var 变量名 =function(参数1,参数2,...){
       函数体 
   }
</script>

这种定义函数的方法不需要指定函数名,只需要把定义的函数赋值给另外一个变量,然后后面的就可以通过这个变量来调用这个函数了。这种定义函数的方法有很好的可读性。

<script type="text/javascript">
    var sum=function(x,y){
        return x+y
    }
    alert('和为:'+sum(10,20))
</script>

1.2.使用Function()构造函数

语法:

<script type="text/javascript">
    var 变量名 =new Function(参数1,参数2,'函数体')
</script>

示列:

<script type="text/javascript">
    var sum=new Function('x','y','alert(x+y)')
    sum(10,20)
</script>

注意:

sum并不是一个函数名,而是一个指向函数的变量,因此,使用Function构造函数创建的函数也是匿名函数。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值