2017-05-11 11 views
-1

のプライベートおよびパブリック変数を作るためにどのように私はPHP上のNode.js

private $varone; 


public $varone; 

がノードにvar varone;ある変数の型を設定する方法のNode.js上でそのような変数を書くことができますは、PHP上private $varone;同じですか?

+0

javascriptにはパブリック変数とプライベート変数がありません。スコープを使って変数を並べ替えることはできますが、それは同じことではありません。 http://javascript.crockford.com/private.html –

+0

リプレイのための@KevinBありがとうvar varone;ノード内では同じプライベート$ varoneです。 PHPで? –

答えて

0

まず、Javascriptには、変数の修飾語句privatepublicはありません。通常、変数へのアクセスは、スコープ内のコードだけにアクセスできる適切なスコープに定義または割り当てることによって、変数へのアクセスを制御します。

Node.jsのプログラミングは通常、モジュールで行われます。各モジュールはそれ自身のスコープを取得するので、モジュール内で定義された変数はそのモジュール内のコードでのみ使用できます。

他のモジュールと何かを共有するには、モジュールをインポートするすべてのユーザーが変数にアクセスできるように、変数または関数またはメソッドを通常はexportとします。あるいは、これはほとんどのことを行う最善の方法ではありませんが、globalオブジェクトで変数をプロパティとして割り当て、そのnode.jsプロセス内のすべてのコードでglobalオブジェクトを介してアクセスできます。

ので、典型的なNode.jsのモジュールは、次のようになります。

// mymodule.js 

function doSomething(a, b) { 
    return a + b; 
} 

let total = 0; 

function doSomethingElse(c, d) { 
    total += c * d; 
} 

// other code here that calls doSomethingElse() 

module.exports = doSomething; 

ので、このモジュールでは、すべての変数と関数がモジュールにプライベート、デフォルトでは、あります。したがって、doSomethingElsetotalはモジュール専用です。関数doSomethingは、モジュールをロードするすべての人がその関数にアクセスできるように、特にエクスポートされます。モジュール内の

var doIt = require('./mymodule.js'); 

console.log(doIt(3, 4)); // 7 

、あなたはまた、さらにさえモジュール内のアクセスを制限するために、サブスコープを作成することができる独自の関数を作成することができます。

関連する問題