クロージャ関数とは何ですか?初めてクロージャを学習し始めると、公式の説明から判断すると、比較的概念的なものであるため、おそらく誰にとっても理解するのは難しいでしょう。
しかし、私たちはまだ閉鎖の意味から始めます。
クロージャとは、関数に自由な独立変数があることを意味します。言い換えれば、クロージャで定義された関数は、それが作成された環境を「記憶」することができます。
公式の説明の後、まずは簡単な数え方の例を見てみましょう。
var c = 0; function count(){ c++; } count();// 1 count();// 2
この例はグローバル変数を使用して実装されていますが、ここで問題が発生します。このとき、変数 c は他のメソッドからも簡単に呼び出され、カウントが無効になる可能性があります。この問題にうまく対処する方法としては、次のようなローカル変数を使用することが考えられます。
function count(){ var c = 0; function add(){ c++; } add(); } count();// c = 1 count();// c = 1
function count(){ var c = 0; function add(){ c++; } return add; } var ct = count(); ct(); // c = 1 ct(); // c = 2
クロージャを使用してプライベート メソッドをシミュレートします
これは、JAVA のプライベート メソッドまたはプライベート変数に似ており、外部から操作する場合は、操作するためのパブリック メソッドを設定する必要があります。
var person = (function(){ var _name = "编程的人"; var age = 20; return { add:function(){ age++; }, jian:function(){ age--; }, getAge:function() { return age; }, getName:function(){ return _name; }, setName: function (name) { _name = name; } } })(); person.add(); var age = person.getAge(); console.log(age) person.setName("编程的人公众号:bianchengderen") console.log(person.getName())
以上がこの記事の全内容です。JavaScript プログラミングを学習する皆さんのお役に立てれば幸いです。