私はJavaからNodeJsに切り替えるので、いくつかのことはまだ私にはぼやけています。「this」を使用する必要がありますか? NodeJsの「オブジェクト」属性を処理するには?
私はJavaのクラスと同様にスクリプトで作業しようとしています。私は、コンソールログに162.*.*.* undefined undefined undefined ...
を持っています
var sftpHandler = new SftpHandler(credentials.sftpHost, credentials.sftpUsername, credentials.sftpPassword);
sftpHandler.downloadFile(credentials.sftpPathToImportFiles+configFile.importFileName, callback);
:私はこのような別のスクリプトから呼び出すとき
var client = require('scp2');
var host, username, password;
var SftpHandler = function (host, username, password) {
this.host = host;
this.username = username;
this.password = password;
};
SftpHandler.prototype.downloadFile = function (path, callback) {
console.log(this.host,username,password,path);
};
module.exports = SftpHandler;
問題がある:私は、これはそれを行う方法で学びました。
私が言及しているオブジェクトの属性にはthis.
が不足していることが分かりました。しかし、なぜthis.
が必要ですか?それはそれを行う正しい方法ですか?
@Paulありがとうございます。あなたの例で書かれているように、ネストされた関数の 'this'はそれ自身のパラメータを参照します。だから、あなたは通常、その関数内からインスタンス/オブジェクト属性にどのようにアクセスしますか? +1 btw –
@OndrejTokar - http:// stackoverflow。com/a/20279485/19068 – Quentin
それは私のものです。しかし、私はそれが汚い解決だと思った。参考に感謝します。 –