サブライムテキスト3でアプリケーションを実行したときに、Node.jsで関数が呼び出された後でグローバル変数が変更されません。私がbashで実行すると、期待どおりに変更されます。 「global.firstname = 'David'」を「window.firstname = 'David'」に置き換えてChromeのコンソールで実行すると、予想どおりに変更されます。Node.jsでこの関数の後にグローバル変数を更新しないのはなぜですか?
var firstname = 'Simon';
var addSurname = function(){
var firstname = 'Gene';
var surname = 'Holmes';
var fullname = firstname + ' ' + surname;
global.firstname = 'David';
console.log(fullname);
};
addSurname();
console.log(firstname);
// Gene Holmes
// Simon
のNode.jsと私のグローバル変数を更新する「global.firstname = 'デビッド」文は崇高なテキスト3で構築されていないのはなぜ最終的に、私は出力
// Gene Holmes
// David
にそれをしたいです?
グローバルオブジェクトには名前がありません。それは「グローバル」ではなく、「ウィンドウ」でもありません。文字通りグローバルオブジェクトを指す変数はありません。グローバルオブジェクトに直接アクセスする唯一の方法は、 'this'トリッキーを使用することですが、厳密なモードでは機能しません。幸いにも、グローバル変数を操作するためにグローバルオブジェクトにアクセスする必要はありません。 – slebetman