<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 功能強大 支持多語言、二開方便! 廣告
                ~~~javascript 1.function fun(){ 2. this.a=10; 3. this.b=function(){ 4. alert(this.a); 5. } 6.} 7.fun.prototype={ 8. b:function(){ 9. this.a=20; 10. alert(this.a); 11. }, 12. c:function(){ 13. this.a=30; 14. alert(this.a) 15. } 16.} 17.var my_fun=new fun(); 18.my_fun.b();// 10 19.my_fun.c(); //30 ~~~ ~~~ var n = 2; function a() { var n = 3; // 私有的變量 function b(m) { alert(++n + m); } b(4); return b; } var c = a(5); c(6); alert(n); ~~~ ![](https://img.kancloud.cn/0b/bd/0bbda84f916b51d7559c0173ba03b973_424x237.png) **當前作用域的上級作用域就是:當前函數在哪個作用域創建的,和在哪里執行的沒有關系。** ![](https://img.kancloud.cn/c9/8d/c98d8dac00566175c3a1510dd7f81fd4_2320x942.png) ### 10.談一下你對作用域鏈和原型鏈的理解 `作用域鏈` 函數執行會形成一個私有的作用域,形參和在當前私有作用域中聲明的變量都是私有變量,當前的私有作用域有自我保護機制,私有變量和外界是沒有關系的,但是如果私有作用域中遇到一個非私有的變量,則向它的上級作用域找,如果還不是上級作用域私有的,則繼續向上查找,一直找到window為止。這種變量一層層向上查找的機制就是“作用域鏈機制” `原型鏈` 它也是一種查找機制,實例首先在自己的私有屬性中進行屬性的查找,如果不是私有屬性,基于__proto__ 向所屬類的原型上進行查找,如果在找不到,則繼續基于__proto__ 向上查找,一直找到Object.prototype為止,例如:obj.hasOwnProperty() 這里調取的hasOwnProperty這個屬性就是找到Object.prototype才找到的 11. 實現 一個$attr(domId,name,value)遍歷id是domId的,內部屬性為name且值為value的元素? ~~~ <!--<div name="teacher">張三</div> <div id="AA"><div>李四</div></div> <div>王五</div> <div>趙六</div> <div name="hobby" id="hobbyBox">music</div> <input name="hobby" id="hobbyBox" value="music"/>--> let $attr = (domID, name, value) => { //1.先獲取當前頁面中所有的標簽 let tagList = document.getElementsByTagName('*'); //2.在獲取的所有標簽中按照ID/NAME/VALUE進行篩選(數組內置方法:filter) tagList = [].slice.call(tagList);//=>把類數組轉換為數組 //=> tagList=[...tagList] 基于ES6中的展開運算符完成,讓TAG-LIST等于一個數組, // 數組中的每一項是把之前的類數組展開后得到的 tagList = tagList.filter(item => { //=>item.name:只有表單元素這樣才可以獲取到值,普通元素需要基于getAttribute獲取值 // return item.id === domID && item.getAttribute('name') === name && (item.innerHTML === value || item.value === value); // =>傳統標簽獲取里面的內容不是基于VALUE屬性,而是基于INNER-HTML/INNER-TEXT屬性完成的 return item.id === domID && item.getAttribute(name) === value; }); return tagList; }; console.log($attr('hobbyBox', 'hobby', 'music')); // let ary = [12, 23, 34, 25, 36, 47]; // ary = ary.filter((item, index) => { // return item > 20 && item < 40;//=>返回的結果是TRUE或者FALSE, // 返回的是TRUE會把這一項存放到新數組中(基于FILTER不會修改原有的數組,會把遍歷后符合條件的放到新數組中) // }); //=>擴展:獲取當前頁面中所有ID重復的元素 ~~~
                  <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>

                              哎呀哎呀视频在线观看