码迷,mamicode.com
首页 > Web开发 > 详细

Js中的函数

时间:2018-12-19 20:58:15      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:绑定   持久化   var   通过   情况   系统   方法   div   function   

什么是函数:具有特定功能的代码块

函数与方法:调用的方式不同 函数通过函数名 | 方法通过.语法调用(点语法)

 

定义函数:function函数名(参数列表) {

    函数体;

    (函数体可以包含函数的返回值)

}

 

// 函数的调用: 函数名(参数列表)

//      函数的调用()一定不可以省略, 参数列表看情况(不管需不需要,均可以传或不传)

// 函数的分类:

// 无参函数:

function fn1() {

    console.log("无参函数")

}

fn1();

// 有参函数:

function fn2(a, b) {

    console.log("a,b的和:", a + b)

}

fn2(10, 20);

// 匿名函数:

var fn3 = function () {

    // 匿名函数虽然没有名字, 但会开辟内存空间, 所以当然可以用一个变量来指向这个内存空间

    console.log("没有直接定义名字的函数");

};

fn3();  // 系统不好在()()之间添加;作为语句结束,需要添加分号时一定需要手动添加

fn4 = fn3;

fn4();

 

// 匿名函数的自调用

(function () {

    // 定义一个匿名函数, 至少需要使用一次, 使用一次的方式就叫做 匿名函数的自调用

    // 如果匿名函数不存在任何使用, 编译就无法通过

    // 匿名函数的自调用:

    //      1.将整个匿名函数作为一个整体, 用()将其包裹

    //      2.并完成函数的调用, 添加 (参数列表)

    console.log(" 匿名函数的自调用");

})();

 

// 函数的参数:

 

// 函数的返回值:

 

// 函数的嵌套(定义 | 调用)

 

匿名函数出现的原因:为了生成一个局部的作用域(不被别人访问或出现重复定义的变量 )

 

 

函数的闭包:

// 闭包: 局部的函数(被一个函数包裹的函数) // 为什么使用闭包: // 1.一个函数要使用另一个函数的局部变量 // 2.闭包会持久化包裹自身的函数的局部变量 // 3.解决循环绑定

// 函数的嵌套定义
function outer() {
    var num = 10;
    function inner() {
        // 1.在inner函数中,使用了outer的局部变量num
        return num;
    }
    return inner;
}
var innerFn = outer();
// 2.借助闭包,将局部变量num的生命周期提升了
var num = innerFn();
console.log(num);

Js中的函数

标签:绑定   持久化   var   通过   情况   系统   方法   div   function   

原文地址:https://www.cnblogs.com/zhouhai007/p/10145439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!