javascript - スコープ汚染を避けるために、Node.js は各 .js ファイルに個別のコンテキストを与えないのはなぜですか?
PHP中文网
PHP中文网 2017-05-16 13:45:41
0
5
1586

cnode フォーラムでこの質問を見ました:

現在の Node.js は VM インターフェースを公開しており、新しい JS コンテキストを自分で作成できます。これは、外部コードを実行するとき、新しいコンテキストを作成することで、サンドボックスがコンテキスト汚染を回避できます。

リーリー

新しいコンテキストを通じて汚染を回避できるのに、Node.js はスコープの汚染を避けるために各 .js ファイルに独立したコンテキストを与えないのはなぜですか?

私は本当に勉強が得意ではありません。まず、彼が何を尋ねたのか理解できませんでした。次に、この問題を解決する方法を教えていただければ幸いです。よろしくお願いします。

引用元:

https://github.com/ElemeFE/no...

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(5)
小葫芦

Node が各 js ファイルに独立したコンテキストを与えないと誰が言ったのでしょうか... Node の各 .js ファイルは、実際には関数でカプセル化されています。詳細については、知っておく必要がある Node.js モジュールを参照してください。

追記:あなたの質問を誤解しました。グローバル変数の意味は「グローバル」です。Node にもこれがあり、Java や C# でも静的メンバーを介して「グローバル」を実装できます。全体像自体が問題なのではなく、問題はその全体像が本当に必要なのかということです。

いいねを押す +0
Ty80

あらゆる js文件有独立的module,仔细看过node官网的module部分就能知道,每个模块也就是文件都有自己的全局变量module,从而能通过module.exports进行模块导出,每个文件的内容都存在一个闭包中,所以说,所谓的单独上下文其实是有的,看你怎么定义这个单独上下文,如果没有的话,CommonJSmodule メカニズムは存在しなくなります。

いいねを押す +0
世界只因有你

実際には、この問題は少し複雑です。実際、Node は各 js ファイルに独立したコンテキストを与えますが、これは機能の妥協です。

もちろん、一時的な不注意によって引き起こされる地球規模の汚染を避けるために、厳密モードを使用することもできます。

いいねを押す +0
Ty80

この質問には誰も回答していないようです。自分でコメントしてください。

この質問にほぼ答えられる答えをZhihuで見つけました

ほぼ同じ感じです。

https://www.zhihu.com/questio...

いいねを押す +0
刘奇

モジュールって上位版と下位版だけじゃないんですか?

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!