<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Mootools1.2教程類(一)_Mootools

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 20:44:25
        文檔

        Mootools1.2教程類(一)_Mootools

        Mootools1.2教程類(一)_Mootools:簡單地講,一個類就是一個容器,這個容器包含了一些變量集合和操作這些變量的函數(shù),以便實現(xiàn)特定的功能。在一個內(nèi)容牽涉較多的項目中,類會顯得難以置信的有用。 變量 在前面一系列的課程中,我們已經(jīng)學習過了Hash對象中鍵值對(key/value pair)的使用方
        推薦度:
        導讀Mootools1.2教程類(一)_Mootools:簡單地講,一個類就是一個容器,這個容器包含了一些變量集合和操作這些變量的函數(shù),以便實現(xiàn)特定的功能。在一個內(nèi)容牽涉較多的項目中,類會顯得難以置信的有用。 變量 在前面一系列的課程中,我們已經(jīng)學習過了Hash對象中鍵值對(key/value pair)的使用方

        簡單地講,一個類就是一個容器,這個容器包含了一些變量集合和操作這些變量的函數(shù),以便實現(xiàn)特定的功能。在一個內(nèi)容牽涉較多的項目中,類會顯得難以置信的有用。
        變量
        在前面一系列的課程中,我們已經(jīng)學習過了Hash對象中鍵值對(key/value pair)的使用方式,因此,下面的這個例子中創(chuàng)建了一個類,它只包含了一些變量,你看起來可能會覺得非常的熟悉:
        參考代碼:
        代碼如下:
        // 創(chuàng)建一個名為class_one的類
        // 包含兩個內(nèi)部變量
        var Class_one = new Class({
        variable_one : "I'm First",
        variable_two : "I'm Second"
        });

        類似地,你可以通過類似訪問hash中的變量的方式來訪問其中的變量,注意一下,在下面的代碼中,我們創(chuàng)建了一個我們在上面定義的Class_one類的實例。
        參考代碼:
        代碼如下:
        var run_demo_one = function(){
        // 創(chuàng)建類Class_one的一個實例,名稱為demo_1
        var demo_1 = new Class_one();
        // 顯示demo_1中的變量
        alert( demo_1.variable_one );
        alert( demo_1.variable_two );
        }

        方法/函數(shù)
        方法是指一個指定的類中的函數(shù)(通俗地說就是一個類中的函數(shù)就叫做方法,換了個叫法而已)。這些方法必須通過這個類的實例來調(diào)用,而類本身不能調(diào)用它們。你可以像定義一個變量來定義一個方法,不同的是你需要給它指定一個靜態(tài)的值,給它指定一個匿名函數(shù):
        參考代碼:
        代碼如下:
        var Class_two = new Class({
        variable_one : "I'm First",
        variable_two : "I'm Second",
        function_one : function(){
        alert('First Value : ' + this.variable_one);
        },
        function_two : function(){
        alert('Second Value : ' + this.variable_two);
        }
        });

        注意一下上面例子中的關鍵字this的使用。由于在上面的方法中操作的變量都是類內(nèi)部的變量,因此你需要通過使用關鍵字this來訪問這些變量,否則你將只能得到一個undefined值。
        參考代碼:
        代碼如下:
        // 正確
        working_method : function(){
        alert('First Value : ' + this.variable_one);
        },
        // 錯誤
        broken_method : function(){
        alert('Second Value : ' + variable_two);
        }

        調(diào)用新創(chuàng)建的類中的方法就像訪問那些類的變量一樣。
        參考代碼:
        代碼如下:
        var run_demo_2 = function(){
        // 實例化一個類class_two
        var demo_2 = new Class_two();
        // 調(diào)用function_one
        demo_2.function_one();
        // 調(diào)用function_two
        demo_2.function_two();
        }

        initialize方法
        類對象中的initialize選項可以讓你來對類進行一些初始化操作,也可以讓你來處理一些可供用戶設置的選項和變量。(Fdream注:實際上這個就相當于類的初始化方法。)你可以像定義方法一樣來定義它:
        參考代碼:
        代碼如下:
        var Myclass = new Class({
        // 定義一個包含一個參數(shù)的初始化方法
        initialize : function(user_input){
        // 創(chuàng)建一個屬于這個類的變量
        // 并給它賦值
        // 值為用戶傳進來的值
        this.value = user_input;
        }
        })

        你也可以通過這個初始化來改變其他的選項或者行為:
        參考代碼:
        代碼如下:
        var Myclass = new Class({
        initialize : function(true_false_value){
        if (true_false_value){
        this.message = "Everything this message says is true";
        }
        else {
        this.message = "Everything this message says is false";
        }
        }
        })
        // 這將設置myClass實例的message屬性為下面的字符串
        // "Everything this message says is true"
        var myclass_instance = new Myclass(true);
        // 這將設置myClass實例的message屬性為下面的字符串
        // "Everything this message says is false"
        var myclass_instance = new Myclass(false);

        所有的這一切工作都不需要聲明任何其他變量或者方法。只需要記住每個鍵值對后面的逗號就行了。真的是非常容易漏掉一個逗號,然后花費大量的時間來追蹤這些不存在的漏洞。
        參考代碼:
        代碼如下:
        var Class_three = new Class({
        // 當類創(chuàng)建的時候就會執(zhí)行這個類
        initialize : function(one, two, true_false_option){
        this.variable_one = one;
        this.variable_two = two;
        if (true_false_option){
        this.boolean_option = "True Selected";
        }
        else {
        this.boolean_option = "False Selected";
        }
        },
        // 定義一些方法
        function_one : function(){
        alert('First Value : ' + this.variable_one);
        },
        function_two : function(){
        alert('Second Value : ' + this.variable_two);
        }
        });
        var run_demo_3 = function(){
        var demo_3 = new Class_three("First Argument", "Second Argument");
        demo_3.function_one();
        demo_3.function_two();
        }

        實現(xiàn)選項功能
        當創(chuàng)建類的時候,給類中的一些變量設置一些默認值會非常有用,如果用戶沒有提供初始輸入的話。你可以手動地在初始化方法中設置這些變量,檢查每一個輸入來看用戶是不是提供了相應的值,然后替換相應的默認值?;蛘?,你也可以使用MooTools中Class.extras提供的Options類來實現(xiàn)。
        給你的類增加一個選項功能非常簡單,就像給類添加一個其他的鍵值對一樣:
        參考代碼:
        代碼如下:
        var Myclass = new Class({
        Implements: Options
        })

        首先不要太著急實現(xiàn)選項的細節(jié)問題,我們會在后面的教程中更深入的學習。現(xiàn)在,我們已經(jīng)擁有一個有選項功能的類了,我們還需要做的就是定義一些默認的選項。和其他的所有東西一樣,只需要添加一些需要初始化的鍵值對就可以了。與定義單個值不一樣的是,你需要像下面這樣定義一組鍵值對集合:
        參考代碼:
        代碼如下:
        var Myclass = new Class({
        Implements: Options,
        options: {
        option_one : "First Option",
        option_two : "Second Option"
        }
        })

        現(xiàn)在我們就有了這些默認的集合,我們還需要提供一個方式來供用戶在初始化這個類的時候覆蓋這些默認值。你所要做的工作就是在你的初始化函數(shù)中增加一行新的代碼,而Options類會完成其余的工作:
        參考代碼:
        代碼如下:
        var Myclass = new Class({
        Implements: Options,
        options: {
        option_one : "First Default Option",
        option_two : "Second Default Option"
        }
        initialize: function(options){
        this.setOptions(options);
        }
        })

        一旦這個完成以后,你就可以通過傳遞一組鍵值對來覆蓋任何默認選項:
        參考代碼:
        代碼如下:
        // 覆蓋所有的默認選項
        var class_instance = new Myclass({
        options_one : "Override First Option",
        options_two : "Override Second Option"
        });
        // 覆蓋其中的一個默認選項
        var class_instance = new Myclass({
        options_two : "Override Second Option"
        })

        注意一下初始化函數(shù)中的setOptions方法。這是Options類中提供的一個方法,可以讓你在實例化一個類的時候設置選項。
        參考代碼:
        代碼如下:
        var class_instance = new Myclass();
        // 設置第一個選項
        class_instance.setOptions({options_one : "Override First Option"});

        一旦設置了選項,你就可以通過變量options來訪問它們。
        參考代碼:
        代碼如下:
        var class_instance = new Myclass();
        // 取得第一個選項的值
        var class_option = class_instance.options.options_one;
        // 變量class_option現(xiàn)在的值就為"First Default Option"了

        如果你想在類的內(nèi)部訪問這個選項,請使用this語句:
        參考代碼:
        代碼如下:
        var Myclass = new Class({
        Implements: Options,
        options: {
        option_one : "First Default Option",
        option_two : "Second Default Option"
        }
        test : function(){
        // 注意我們使用this關鍵字來
        // 引用這個類
        alert(this.option_two);
        }
        });
        var class_instance = new Myclass();
        // 將彈出一個對話框,顯示"Second Default Option"
        class_instance.test();

        把這些東西組合成一個類,看起來就是這樣的:
        參考代碼:
        代碼如下:
        var Class_four = new Class({
        Implements: Options,
        options: {
        option_one : "Default Value For First Option",
        option_two : "Default Value For Second Option",
        },
        initialize: function(options){
        this.setOptions(options);
        },
        show_options : function(){
        alert(this.options.option_one + "\n" + this.options.option_two);
        },
        });
        var run_demo_4 = function ){
        var demo_4 = new Class_four({
        option_one : "New Value"
        });
        demo_4.show_options();
        }
        var run_demo_5 = function(){
        var demo_5 = new Class_four();
        demo_5.show_options();
        demo_5.setOptions({option_two : "New Value"});
        demo_5.show_options();
        }
        // 創(chuàng)建一個類class_four的實例
        // 并指定一個名叫new_option的新選項
        var run_demo_6 = function(){
        var demo_6 = new Class_four({new_option : "This is a new option"});
        demo_6.show_options();
        }

        代碼及示例
        熟悉PHP的人可能認識下面示例中的show_options方法中的print_r()函數(shù):
        參考代碼: 代碼如下:
        show_options : function(){
        alert(print_r(this.options, true));
        }

        這不是一個javascript的原生方法,只不過是從PHP2JS項目中Kevin van Zonneveld的一小段代碼而已。對于那些不熟悉PHP的人,這個print_r()方法就給你了一個數(shù)組中鍵值對格式化后的字符串。在調(diào)試腳本的過程中,這是一個極其有用的debug工具,這個函數(shù)在后面提供的下載包中有詳細的代碼,我強烈推薦使用它來測試和研究。
        參考代碼: 代碼如下:
        var Class_five = new Class({
        // 我們使用了選項
        Implements: Options,
        // 設置我們的默認選項
        options : {
        option_one : "DEFAULT_1",
        option_two : "DEFAULT_2",
        },
        // 設置我們的初始化函數(shù)
        // 通過setOptions方法來設置選項
        initialize : function(options){
        this.setOptions(options);
        },
        // 用來打印選項數(shù)組信息的方法
        show_options : function(){
        alert(print_r(this.options, true));
        },
        // 通過setOptions方法來交換兩個選項的值
        swap_options : function(){
        this.setOptions({
        option_one : this.options.option_two,
        option_two : this.options.option_one
        })
        }
        });
        function demo_7(){
        var demo_7 = new Class_five();
        demo_7.show_options();
        demo_7.setOptions({option_one : "New Value"});
        demo_7.swap_options();
        demo_7.show_options();
        }

        更多學習

        下載一個包含你開始所需要的所有東西的zip包

        MooTools Class文檔MooTools Class.extra文檔print_r()參考

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Mootools1.2教程類(一)_Mootools

        Mootools1.2教程類(一)_Mootools:簡單地講,一個類就是一個容器,這個容器包含了一些變量集合和操作這些變量的函數(shù),以便實現(xiàn)特定的功能。在一個內(nèi)容牽涉較多的項目中,類會顯得難以置信的有用。 變量 在前面一系列的課程中,我們已經(jīng)學習過了Hash對象中鍵值對(key/value pair)的使用方
        推薦度:
        標簽: 教程 () mo
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 怡红院亚洲怡红院首页| 亚洲日韩国产二区无码| 亚洲中文字幕久在线| 亚洲国产欧洲综合997久久| 国产精品视频全国免费观看| 国产成人精品免费视频软件| 亚洲欧美中文日韩视频| 久久国产亚洲观看| 亚洲 日韩 色 图网站| 一级免费黄色大片| 伊人婷婷综合缴情亚洲五月| 99在线热播精品免费99热| 成人性生免费视频| 亚洲激情在线观看| 国产高清视频免费在线观看| 亚洲理论电影在线观看| jzzijzzij在线观看亚洲熟妇| 日韩毛片无码永久免费看| 国内成人精品亚洲日本语音| 亚洲成av人在片观看| 成人av片无码免费天天看| 无码专区永久免费AV网站| 国产亚洲精品自在久久| 久久黄色免费网站| 亚洲毛片基地4455ww| 91高清免费国产自产| 亚洲精品高清无码视频| 最好看最新的中文字幕免费| 亚洲精品成人无码中文毛片不卡| 国产无遮挡无码视频免费软件| 久久国产亚洲精品无码| 久久99免费视频| 在线亚洲午夜片AV大片| 免费无码又爽又刺激网站| 91精品国产亚洲爽啪在线影院| 最近更新免费中文字幕大全| 91亚洲精品自在在线观看| 国产大片免费观看中文字幕| 好紧我太爽了视频免费国产 | 亚洲欧洲精品成人久久奇米网| 亚洲色成人网站WWW永久四虎|