クラッシュしました。このような JS の記述を見たことがありますか? 詳細なガイダンスが得られることを願っています。
function InterfaceInit(){
Dialog = (function (){
var now = null;
return {
追加 : function (id){
alert( id);
},
getNow : function(){
alert(now);
}
}
})();
}
これは関数ですか、それともオブジェクトですか? なぜこのように記述されますか?
このように記述すると、どのような利点がありますか?誰でも読めるように書かれています わかりません!
-----解決策---------
interfaceInit はオブジェクト指向のインターフェイスである必要があります。
interfaceInit インターフェイスを継承するすべてのクラスまたは関数は、Dialog 関数を定義する必要があります。
------解決策---------
Dialog 関数には add と getNow の呼び出し方法がありますこのメソッド?
==========
var init = 新しいインターフェースInit(); init.Dialog.add(); init.Dialog.getNow(); <br><font color="#e78608">------解決策----------------------</font><br>この変更により、より明確になりますか? <br>次のコードをページにスローすると、2.<br>
が警告されます。 <スクリプト> var ダイアログ = {}; 関数インターフェースInit(){ var now = null; ダイアログ = { 追加:関数(id){ アラート(ID); }、 getNow : function(){ アラート(現在); } } } var インターフェース = 新しいインターフェースInit(); (関数(){ var ダイアログ = ダイアログ; ダイアログ.追加(2); })() </スクリプト> <br><font color="#e78608">------解決策---------</font><br> JS クラスの匿名オブジェクト。 <br><font color="#e78608">------解決策---------</font><br>宛:xuStanly<br>自分で書いたコードはテストされましたか? ! <br><br>宛先:foolbirdflyfirst<br>
<スクリプト> var ダイアログ = {}; 関数インターフェースInit(){ var now = null; ダイアログ = { 追加:関数(id){ アラート(ID); }、 getNow : function(){ アラート(現在); } } } var インターフェース = 新しいインターフェースInit(); (関数(){ var ダイアログ = ダイアログ; ダイアログ.追加(2); })() </スクリプト> <br><font color="#e78608">------解決策---------</font><br>to ls:<br>私の当初の目的はlet lz know<br>1.(function(){alert(1)})();//匿名関数を定義し、すぐに実行します。 <br>2. var a = function(){alert(1);} a();//変数を関数として定義し、呼び出して実行します<br><br>2 つの呼び出しメソッドは実際には同じです。 <br><br>したがって、Dialog = (function(){<br> return{a:'1',b:'2'}//オブジェクトを返す<br> })();<br> は実際には同等ですto Dialog = {a:'1',b:'2'}<br><br><br>わかりやすく変更することもできます<br>var a = function(){return {a:' 1', b:'2'}}<br>Dialog = a();<br>alert(Dialog.a)// 1<br><br> に警告します <br><font color="#e78608">------解決策---------</font><br>
<スクリプトタイプ="text/javascript"> 関数インターフェースInit(){ ダイアログ = (関数(){ var now = null; 戻る { 追加: 関数(id){ アラート(ID); }、 getNow: function(){ アラート(現在); } } })(); } インターフェース初期化(); Dialog.add(123); </スクリプト> <br><font color="#e78608">------解決策--------</font><br>この形式は、深く掘り下げると非常に正常です。 js を理解すると、より高度なアプリケーションを実装したい場合は、この方法でしか js コードを記述できないことがわかります。<br><The Authoritative Guide to JavaScript (Fifth Edition)> を読むことをお勧めします。は、O'reilly's Rhino Book)、関数とオブジェクトに関連する章を重点的に学習します <br> その後、より一般的な JS フレームワークを見つけて、プロトタイプなどのソース コードを学習できます <div class="clear"></div>