私はこれをよく見かけますが、その目的や利点 (もしあれば) についてはわかりません。変数の値として、関数または関数のセットをオブジェクト内に配置します。
var variableName = { (function() {DO STUFF} )}
私はこれをよく見かけますが、その目的や利点 (もしあれば) についてはわかりません。変数の値として、関数または関数のセットをオブジェクト内に配置します。
var variableName = { (function() {DO STUFF} )}
JavaScript はグローバル変数を使用します。つまり、すべてのスクリプトがすべての変数にアクセスして変更でき、同じ名前の変数を上書きできる可能性があります。独自のスクリプトを保護するには、グローバル変数 ( var MyScript=... など) を使用して、すべてをそれに書き込みます。例を挙げると、html ファイル間を移動するための簡単なスクリプトを作成しました。内部のすべてのものをカプセル化する「Navi」と呼ばれる変数を見ることができます。これには変数と関数が含まれており、(この場合) 返された名前によってのみアクセスが許可されます。Navi で next と previous の関数を記述した場合、他のスクリプトで上書きされる可能性があります。
var Navi = (function(){
var currentPage = 0;
var pages = [];
pages[0] = "first.html";
pages[1] = "second.html";
pages[2] = "third.html";
var next = function next(){
if(currentPage < pages.length - 1){
currentPage++;
location.href = pages[currentPage];
}
};
var previous = function previous(){
if(currentPage > 0){
currentPage--;
location.href = pages[currentPage];
}
};
return{
next: next,
previous: previous,
currentPage: currentPage,
pages: pages
};
})();
html ファイルから呼び出すには:
<a href="javascript:Navi.previous();">previous page</a>
<a href="javascript:Navi.next();">next page</a>
ここのところ。
基本的に、関数に名前があれば、それを呼び出すことができます
variableName.function(args);
これらの種類のオブジェクトでは、自分でデータを更新またはリセットするまで、常にオブジェクトに保存されるメソッドを設定できます。これは、物事を動的にしたいが入力データを記憶したい場合に便利です。
次のようなシングルトン オブジェクトを作成できます。
var Singleton = {
data1 : '',
functionName : function() {
this.data1 = document.getElementById('formfield1').value;
}
}
したがって、idがformfield1のフォームフィールドがある場合
<input type="text" id="formfield1" value="" />
たとえば、この関数を送信ボタンにバインドすると
<button onclick="Singleton.functionName();">Save</button>
あなたの情報は、オブジェクトの data1 変数に保存されます。
これ以外にもたくさんありますが、データを保存する良い方法です。お役に立てば幸いです:)