JavaScript は、フロントエンド開発で一般的に使用される言語の 1 つです。 JavaScript では、コードのモジュール性と保守性を実現するために、関数を使用していくつかの再利用可能なコードをカプセル化することがよくあります。関数内では、指定された関数を実装するためのメソッドを定義できます。これらのメソッドは関数の内部メソッドとも呼ばれます。
この記事では、次の側面を含め、関数内部メソッドの使用と実装について説明します。
1. 関数の内部メソッドとは
関数内部メソッド (関数プライベート メソッドとも呼ばれます) は、関数内で定義された特定の関数を持つメソッドを指します。これらのメソッドは関数内でのみアクセスまたは呼び出すことができ、関数の外で使用したり呼び出すことはできません。関数内部メソッドは通常の JavaScript 関数に似ていますが、スコープが小さく、関数内でのみ有効です。
2. 関数の内部メソッドの役割と利点
3. 関数の内部メソッドの実装方法
関数内で結合するオブジェクト リテラルを定義します。すべてのプライベート プロパティとメソッドは、オブジェクトのプロパティとメソッドとして定義する必要があります。この方法は実装が簡単で直感的であり、小さな機能と単純なロジックを含むシナリオに適しています。
サンプル コード:
function fn() { const privateMethod = () => { // 实现代码逻辑 } return { publicMethod() { // 实现代码逻辑 } } }
fn()
を通じて関数を呼び出すと、オブジェクトが返され、その中で publicMethod()## を呼び出すことができます。 # 方法。
privateMethod() メソッドには関数の外部から直接アクセスできません。
function fn() { const privateNum = 0; const privateMethod = () => { // 实现代码逻辑 } const publicMethod = () => { // 实现代码逻辑 } return publicMethod; }
fn() を通じて関数を呼び出すと、
publicMethod() メソッドが返されますが、
privateNum メソッドと
privateMethod() メソッドは、クロージャのコンテキスト変数としてスコープ チェーンに保存されます。
function myData() { const data = []; const validate = (value) => { // 判断 value 是否合法 } const add = (value) => { if (validate(value)) { data.push(value); } } const remove = (value) => { if (validate(value)) { const index = data.indexOf(value); if (index !== -1) { data.splice(index, 1); } } } return { add, remove, getData() { return data; } } } const md = myData(); md.add(1); md.add(2); md.add(3); console.log(md.getData()); // [1, 2, 3] md.remove(2); console.log(md.getData()); // [1, 3]
myData という名前の関数を定義します。これには、プライベート プロパティ
data とプライベート メソッド
validate## が含まれており、 add
、remove
、および getData
メソッド。このようにして、data
データ構造に安全な操作を実装し、外部メソッドを便利に使用できます。 関数の内部メソッドを使用するときは、いくつかの詳細に注意する必要があります。
関数の内部メソッドは、関数のコンストラクターとして使用できません。
以上が関数JavaScript内のメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。