ホームページ > バックエンド開発 > PHPチュートリアル > このような JS の記述を見たことがありますか? 詳細なガイダンスと解決策が得られることを願っています。

このような JS の記述を見たことがありますか? 詳細なガイダンスと解決策が得られることを願っています。

WBOY
リリース: 2016-06-13 13:48:09
オリジナル
870 人が閲覧しました

クラッシュしました。このような JS の記述を見たことがありますか? 詳細なガイダンスが得られることを願っています。
function InterfaceInit(){
Dialog = (function (){
var now = null;
return {
追加 : function (id){
alert( id);
},
getNow : function(){
alert(now);
}
}
})();
}

これは関数ですか、それともオブジェクトですか? なぜこのように記述されますか?
このように記述すると、どのような利点がありますか?誰でも読めるように書かれています わかりません!

-----解決策---------
interfaceInit はオブジェクト指向のインターフェイスである必要があります。

interfaceInit インターフェイスを継承するすべてのクラスまたは関数は、Dialog 関数を定義する必要があります。
------解決策---------
Dialog 関数には add と getNow の呼び出し方法がありますこのメソッド?
==========

JScript コード

var init = 新しいインターフェースInit();
init.Dialog.add();
init.Dialog.getNow();
<br><font color="#e78608">------解決策----------------------</font><br>この変更により、より明確になりますか? <br>次のコードをページにスローすると、2.<br>
ログイン後にコピー
JScript コード
 が警告されます。

<スクリプト>
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>
ログイン後にコピー
JScript コード
<スクリプト>
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>
ログイン後にコピー
JScript コード
<スクリプトタイプ="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>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート