私はJavascriptを初めて使用しています。インスタンスを介して関数に値を渡すにはどうすればよいですか?インスタンスを介してバリューを渡す方法は?
私は主な関数(クラス)に渡すこのオブジェクト/インスタンスにいくつかの値を持っていますが、これらの値のいくつかはオプションです。渡されないと、デフォルト値が使用されます。ここで
var test = new Test({
buttonId: 'sb',
inputField: 'saveTextarea'
});
は、ロジックが指定されたボタンがクリックされたときに、単に指定された入力フィールドにファイル名を表示することですrequestFileNameがtrueに設定されている場合、それが表示する関数
(function() {
var buttonId, inputField, requestFileName, fileName;
buttonId = null;
inputField = null;
requestFileName = null;
fileName = null;
// constructor
this.Test = function() {
// defaults
var defaults = {
buttonId: "",
inputField: "",
requestFileName: false, //if true, prompt for fileName
fileName: Math.random().toString(36).slice(2)
}
// extend defaults
if (arguments[0] && typeof arguments[0] === "object") {
this.options = extendDefaults(defaults, arguments[0]);
}
}
document.getElementById(buttonId).onclick = function() {
if (requestFileName == true)
{
fileName = prompt("Enter file name");
}
var myTextArea = document.getElementById(inputField).value
myTextArea.innerHTML = fileName;
};
function extendDefaults(source, properties) {
var property;
for (property in properties) {
if (properties.hasOwnProperty(property)) {
source[property] = properties[property];
}
}
return source;
}
}());
ですプロンプト名を入力し、そうでない場合は、デフォルトのランダムな文字列を使用します。
しかしbuttonIdにはnullが返されています...これについてアドバイスを受けることはできますか? Javascriptをthis
に一種の注意が必要ですので、ここで
こんにちは、私はnullを取得していることを理解していますが、私はそれを解決する方法がわかりません、私は 'this'を使用しない場合、私はまだ、インスタンスが指定されていない場合どのように達成するのですか? – pleasega