javascript - 关于闭包的问题

查看:96
本文介绍了javascript - 关于闭包的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

$func = function( $param ) {

echo $param;

};
$func( 'some string' );
这样做有什么意义呢,和给function命个名有何不同
function test($param){
echo $param;
}
test('some')

解决方案

闭包简单说你可以把他理解成,在javascript实现公有,私有,和特权变量。再直接点就是 private变量的get,set操作,闭包创建的内部变量,使这些变量不能被外部随意修改,同时又可以通过指定的函数接口来操作更改。
例子:模拟私有变量

function Counter(start) {
    var count = start;
    return {
        increment: function() {
            count++;
        },

        get: function() {
            return count;
        }
    }
}

var foo = Counter(4);
foo.increment();
foo.get(); // 5

这里,Counter 函数返回两个闭包,函数 increment 和函数 get。 这两个函数都维持着 对外部作用域 Counter 的引用,因此总可以访问此作用域内定义的变量 count.

这篇关于javascript - 关于闭包的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆