<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                DOM API JS OO概念 JS Functional概念 異步編程技巧 理解瀏覽器 javascript中基本的數值有:數字,字符串,NULL,undefined,布爾值。其他都是對象。 javascript中的對象是無類型可變的鍵控集合,是屬性的容器,每個屬性都有名字和值。 函數額外接收兩個參數: this和arguments 函數有四種調用模式: 1、方法調用模式 當函數被保存為一個對象的屬性時,我們稱它為方法。調用該方法時,this綁定到該對象。方 法可以使用this來訪問所屬對象。通過this來訪問所屬對象上下文的方法叫做公共方法。 eg: var myObject = { value: 10, increment: function (inc) { this.value += typeof inc === 'number' ? inc : 1; } }; 2、函數調用模式 當一個函數不是對象屬性時,它就作為函數被調用,調用該函數時this綁定在全局對象。*這 是一個設計錯誤,應該綁在它外部函數的this變量。用that解決。 eg: myObject.double = function() { that = this; var helper = function() { that.value = that.value * 2; } helper(); } 3、構造器調用模式 在函數前加NEW關鍵字調用,會另外創建一個連接在該函數的prototype成員的新對象。同時 this也會綁定到新對象,new也會改變return的行為。 eg: var Quo = function(String) { this.status = String; } Quo.prototype.get_status = function() { return this.status; } var myQuo = new Quo("cc"); document.writeln(myQuo.get_status()); // console.log("cc") 一個函數在調用的時候就希望使用new,那么它被稱作構造函數。它們被保存大寫的命名里。 4、apply調用模式 javascript是一門函數式的面向對象的語言。函數可以擁有方法。apply方法讓我構建一個參 數函數傳遞給調用函數。 eg: var array = [3, 4]; var sum = add.apply(null, array); // sum = 7 var statusObject = { status: 'A-OK' } var status = Quo.prototype.get_status.apply(statusObject); // status = 'A-OK' this指代該所屬對象,arguments指代所引用的參數個數,相當于一個參數對象。 // 這段代碼用返回一個對象來模擬一個value私有屬性。閉包。 var myObject = (function() { var value = 0; return { increment: function(inc) { value += typeof inc === 'number' ? inc : 1; }, getValue: function() { return value; } }; }()); myObject.increment(5) 不使用NEW關鍵字: var quo = function(status) { return { get_status: function() { return status; } }; }; var myQuo = quo("cc"); var fade = function (node) { var level = 1; var step = function() { var hex = level.toString(16); node.style.backgroundColor= '#FFF' + hex + hex; if (level < 15) { level += 1; setTimeout(step, 100); } }; setTimeout(step, 100); }; fade(document.body) 異步處理,回調函數 回調函數:函數A作為參數(函數引用)傳遞到另一個函數B中,并且這個函數B執行函數A。我們就說函數A叫做回調函數。 // json 輸出一個對象 JSON.stringify(xiaoming)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看