<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                #面向對象之拷貝繼承 ``` var a = { name: '小明' }; var b = a; b.name = '小強'; alert(a.name); // 小強 ``` ``` var a = { name: '小明' }; var b = {}; for(var attr in a){ b[attr] = a[attr]; } b.name = '小強'; alert(a.name); // 小明 ``` ``` var a = { name: '小明' }; var b = {}; extend(b, a); b.name = '小強'; alert(a.name); // 小明 function extend(obj1, obj2) { for (var attr in obj2) { obj1[attr] = obj2[attr]; } } ``` 方法的繼承:for in 拷貝繼承(jquery也是采用拷貝繼承 extend) ``` function CreatePerson(name, sex){ // 父類 this.name = name; this.sex = sex; } CreatePerson.prototype.showName = function(){ alert(this.name); }; var p1 = new CreatePerson('Mary', '女'); p1.showName(); // 小明 function CreateStar(name, sex, job){ // 子類 CreatePerson.call(this, name, sex); this.job = job; } // CreateStar.prototype = CreatePerson.prototype; extend(CreateStar.prototype, CreatePerson.prototype); CreateStar.prototype.showSex = function(){ alert(this.sex); }; var p2 = new CreateStar('黃曉明', '男', '演員'); p2.showName(); // 黃曉明 p1.showSex(); // 控制臺報錯:Uncaught TypeError: p1.showSex is not a function,這樣說明就解決了面向對象繼承引用的問題 p2.showSex(); // 未能彈出 function extend(obj1, obj2) { for (var attr in obj2) { obj1[attr] = obj2[attr]; } } ``` 上面是利用了函數的一個特性:只能被重新賦值,不能被修改。比如數組,既可以被重新賦值又可以被修改,如下: ``` var a = [1,2,3]; var b = a; b.push(4); // 給b數組添加一個元素,說明b數組被修改了 alert(a); // 1,2,3,4 說明a數組也被修改了 ``` ``` var a = [1,2,3]; var b = a; b = [1,2,3,4]; // 對b數組重新賦值 alert(a); // 1,2,3 ```
                  <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>

                              哎呀哎呀视频在线观看