javaScript中函数是什么?

函数:可以理解为函数是存放一段可执行代码的盒子。

函数的定义

       在javascript中函数是一段可以被执行或调用任意次数的javascript代码,在数据类型中属于“function"。函数也拥有属性和方法,因此函数也是对象。

函数的创建方法

创建函数可以通过函数声明函数表达式构造函数3种方法来实现。


      在javascript中函数定义函数声明或函数表达式由关键字function开始,其后跟随这些组成部分:

       1.函数名称标识符。函数名称是函数声明语句必须的部分。它的用途就像变量的名字,新定义的函数对象会赋值给这个变量。对函数定义表达式来说,这个名字是可以选的:如果存在,该名字只存在于函数体中,并指代函数对象本身。

       2.一对圆括号()。其中包含由0个或多个用逗号隔开的标识符组成的列表,这些标识符是函数的参数名称,它们就像函数体中的局部变量一样。

       3.一对花括号{}。其中包含0条或多条javaScript语句。这些语句构成了函数体:一旦调用函数,就会执行这些语句。

一、函数声明

在Javascript中定义一个函数,该函数的关键字function在整个语句块的开始位置,并且存在函数名称标识符的函数代码称为函数声明。

函数的声明方式:

1.声明式

function 函数名(参数列表){

函数体

}

2.赋值式

var 变量名=function(参数列表){

函数体

}

函数声明代码语法:

function examplefunction(){
console.log("这是一个函数声明示例");
}

匿名函数的常用用途:

事件绑定处理函数

赋值式函数

自执行函数

回调函数

fn和fn()的区别:前者表示函数本身,后者表示对函数的调用,后者值为函数的返回值。

arguments:系统内置的一个对象,存在于函数内部。主要用于存储函数传入的参数。

形参和实参

实参:在函数调用时,写在小括号中的值。

形参:在函数声明时,定义在小括号中的变量就是形参。

传参:函数调用过程中,将实参的值传递给形参的过程。

回调函数

function fn(callBack){
setInterval(function(){

if(n==30){
callBack();
document.write("一句话");
clearInterval(timer);
}
n++;},100);


}
function callBack(){
document.write("n变成30了");
}
fn(callBack);

二、函数表达式

函数表达式:在Javascript中定义一个函数,该函数整体作为变量的赋值语句或者调用执行的语句而存在,该函数语句称为函数表达式

//函数表达式示例
var f = function exemplefunction() {
        console.log("这是函数表达式的示例");
    }
 // 这也是函数表达式,函数为匿名函数
    var f = function () {
        console.log("这是一个匿名函数表达式示例");
    }
 // 这还是函数表达式,函数为立即执行函数
        (function () {
            console.log("这还是一个函数表达式示例,为立即执行函数表达式");
        })

三、构造函数

通过new关键字来调用的函数称为构造函数。常见的构造函数示例:

//Function 的首字母必须为大写字母。   
 var f = new Function("a", "b", "return a*b;");
    console.log(f);

这行代码创建的一个新函数与通过下面代码定义的函数几乎等价:

 var f = function (a, b) {
        return a * b;

    }
    console.log(f);

函数调用后如果没有返回值,返回值默认为undefined

函数的分类:

1.无参无返回值

 //求1~20的和
    function fn() {
        var sum = 0;
        for (var i = 1; i <= 20; i++) {
            sum += i;
        }
        console.log(sum);
    }
    fn()

2.无参有返回值

    var a = 10;
    function fn() {
        return a * 2;
    }
    console.log(fn());

3.有参数无返回值

  // 有参数无返回值
    // 需求:1~10的和
    //       1~20的和

    // function fn() {
    //     var sum = 0;
    //     for (var i = 1; i <= 10; i++) {
    //         sum += i;
    //     }
    //     console.log(sum);
    // }
    // fn()
    // function fn() {
    //     var sum = 0;
    //     for (var i = 1; i <= 20; i++) {
    //         sum += i;
    //     }
    //     console.log(sum);
    // }
    // fn()
    var sum = 0;
    function fn(n) {

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

4.有参数有返回值

​
  // 有参数有返回值
    // 需求:1~10的和
    //       1~20的和

    // function fn() {
    //     var sum = 0;
    //     for (var i = 1; i <= 10; i++) {
    //         sum += i;
    //     }
    //     console.log(sum);
    // }
    // fn()
    // function fn() {
    //     var sum = 0;
    //     for (var i = 1; i <= 20; i++) {
    //         sum += i;
    //     }
    //     console.log(sum);
    // }
    // fn()
     function fn(n) {
         var sum = 0;
         for (var i = 1; i <= n; i++) {
             sum += i;
         }
         console.log(sum);
         return sum;
     }
     fn(10)
     fn(20)

​
var a=10;
//声明
function fn(){
console.log(a);
}

//调用:函数名+()
//fn()

console.log(a);
console.log(fn());

【注意】如果需要对函数中的结果进行不同的处理,就可以把函数的结果作为返回值,返回到函数外面,让函数的调用者去处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值